1.2. Разработка ПО по заказу
Вторым вариантом создания ПО является поручение его разработки фрилансерам.
В таком случае отношения сторон должны оформляться гражданско-правовым договором. При выполнении работ по созданию ПО непосредственно физическим лицом (автором) заключается договор авторского заказа (ст.1288 ГК РФ). Аналогично решается вопрос при создании ПО коллективом авторов. В таком случае на стороне исполнителя просто указываются все авторы.
Особенностью договора авторского заказа является то, что в нем может быть предусмотрено как отчуждение заказчику исключительного права на произведение, которое должно быть создано автором, так и предоставление заказчику права использования этого произведения по лицензии. Поскольку, как было сказано выше, исключительные права на произведение первоначально возникает у его автора, отсутствие в договоре авторского заказа условий об отчуждении исключительных прав на произведение заказчику влечет сохранение таких прав за автором.
Соответственно, в отношениях «заказчик – автор (фрилансер)» действует презумпция сохранения прав за автором, если договором не предусмотрено иное.
Поэтому в договоре авторского заказа необходимо четко прописывать, что автор отчуждает исключительные права заказчику. Помимо этого в нем необходимо предусмотреть срок выполнения заказа и размер авторского вознаграждения за отчуждаемые права. Иначе договор не будет считаться заключенным, и права не перейдут заказчику.
Заблуждение: 5 . Чтобы стать владельцем программы достаточно нанять программиста и оплатить его работу по договору.
На самом деле: Передача прав – это самостоятельный юридический акт, который должен однозначно фиксироваться договором и документацией. Чтобы вас признали единственным владельцем прав, это должно быть прямо зафиксировано в документах.
Совет: Включайте в договор условия:
(1) о выплате авторского вознаграждения;
(2) о предоставлении или отчуждении прав Заказчику;
(3) о невозможности отказа от права на обнародование.
Передачу прав всегда оформляйте актом или включайте такие условия в исполнительскую документацию.
queryset.filter(**params).only('dates', 'type_date').select_related(*select_rel).order_by('-dates', '-create')
queryset.values('dates').annotate(count=Count('dates')).order_by() # Сбросил сортировкуSELECT `dates`, COUNT(`dates`) AS `count`
FROM `gigdate_dateall`
WHERE (`dates` IN (2015-08-31, 2015-09-01, 2015-09-02, 2015-09-03) AND `type_date` = 0)
GROUP BY `dates` ORDER BY NULLdates = models.DateField(_(u'Дата календаря'), blank=False)
...
class Meta:
ordering = ['-dates', '-create']SELECT `dates`, COUNT(`dates`) AS `count`
FROM `gigdate_dateall`
WHERE (`dates` IN (2015-08-31, 2015-09-01, 2015-09-02, 2015-09-03) AND `type_date` = 0)
GROUP BY `dates`, `create` ORDER BY `dates` DESC, `create` DESC from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
class ValidLogin(object):
def process_request(request):
if not request.user.is_authenticated():
return HttpResponseRedirect(reverse('signin'))
return NoneMIDDLEWARE_CLASSES = (
'project.middleware.ValidLogin',
)from django.conf.urls import patterns, url
from django.contrib.auth.decorators import user_passes_test
urlpatterns = patterns('crm.views',
url(r'^$',
user_passes_test(lambda u: u.is_superuser or u.is_moderator)(HomeCRM.as_view()),
name='home'),
)from django.contrib.auth.decorators import login_required
urlpatterns = patterns('crm.views',
url(r'^$',
login_required(HomeCRM.as_view()),
name='home'),
)zigen: Разобрался
class MyClassDetailView(DetailView):
model = User
slug_field = 'username'[04/Jul/2015 14:33:31]"GET /?page=2&querystring_key=page HTTP/1.1" 500 160329
[04/Jul/2015 14:33:42]"GET /?page=2&querystring_key=page HTTP/1.1" 200 6458RemovedInDjango19Warning: `request.REQUEST` is deprecated, use `request.GET` or `request.POST` instead.