Page 1 of 2
Оформление файлов исходного кода
Posted: Mon Dec 05, 2011 11:08 pm
by oleg_kutkov
Добрый вечер!
Долго думал в какую ветку написать и решил, что тут будет самое подходящее место.
Я просмотрел достаточно большое количество исходников колибри и заметил одну особенность: небольшой бардак в "шапках" файлов

Думаю, что всем известна такая хорошая практика, как помещение, в самом начале файла с кодом, небольшого заголовка-комментария, в котором указывается, например:
ревизия файла, автор, дата создания, лицензия, назначение файла.
Тут же я наблюдая плачевную картину в этом плане, шапки если и присутствуют (далеко не всегда) - то они как правило не подчиняются какой либо системе, каждый пишет так, как ему нравится. Бывает, что встречаются файлы притянутые из других проектов, соответственно такие файлы оснащены своими заголовками. Это добавляет еще больше беспорядка и поднимает вопрос о лицензионной чистоте.
Не знаю, поднимался ли этот вопрос ранее, я всего первый день тут, но считаю, что это очень важный момент. Это прежде всего культура разработки + различные удобства, как та же ревизия (которая проставляется автоматически, по специальному тегу). Может я конечно глубоко заблуждаюсь, тогда простите

Вообщем хотелось бы обсудить немного этот вопрос и услышать различные мнения.
Спасибо.
Re: Оформление файлов исходного кода
Posted: Mon Dec 05, 2011 11:18 pm
by Mario
Заголовки правим по мере необходимости и желания. Просто делать ревизию ради того чтобы поправить исключительно заголовок это лишнее действие.
Насчет штампа с ревизией SVN идея хорошая. Пока такое реализовано только для ядра.
Re: Оформление файлов исходного кода
Posted: Tue Dec 06, 2011 12:16 am
by art_zh
oleg_kutkov
привет,
Вы - второй человек (за 8 лет!), который поднимает вопрос о лицензионной чистоте кода.
Первым был корнет Турьянмаа, которого красиво направили по известному азимуту.
И он сразу дружно построился и пошёл...
По сабжу - да, кое-где кое-что оформлено (на свежий взгляд) кривовато и даже неумно.
Имхо - ну и фиг с ним.
Я - старый самогонщик. И никогда не променяю рюмку своего фирменного сливового первача на бутыль "Абсолюта".
Потому что при тройной отгонке теряется букет и послевкусие, одна только дурь функциональность и остаётся.
Re: Оформление файлов исходного кода
Posted: Tue Dec 06, 2011 12:28 am
by johnfound
ИМХО, проблем с шапками, правильно решается eдинственным методом - отказ от всех видов шапок (может быть кроме короткий комментар что именно содержит данный файл).

Re: Оформление файлов исходного кода
Posted: Tue Dec 06, 2011 12:41 am
by art_zh
в шапке - дисклэймер от Менуэта (там, где еще остались рудименты Ме-кода).
И еще - авторская подпись. У каждого - индивидуальная.
Пока не научился различать авторов по стилю регистровой аллокации в коде - приглядывайся к шапкам. Ну и SVN в помощь...
Re: Оформление файлов исходного кода
Posted: Tue Dec 06, 2011 1:54 am
by IgorA
Почти согласен с
johnfound, думаю что очень большие шапки не нужны. Заграницей очень следят за правами, потому и пишут большие шапки, пытаясь учесть все возможные варианты. Бывает что файл не большой и размер кода примерно равен размеру шапки

Re: Оформление файлов исходного кода
Posted: Tue Dec 06, 2011 9:53 am
by SoUrcerer
Лицензия GPL вроде как требует именно полных заголовков. Нужно уточнить у юристов. Добавить заголовки - дело минутное практически, нужно только у авторов программ спросить, какие лицензии они хотят использовать. Большая часть кода сейчас GPL, некоторое количество - BSD.
Лицензионная чистота - штука хорошая, буржуины оценят.
Re: Оформление файлов исходного кода
Posted: Wed Dec 07, 2011 11:41 am
by Serge
Если автор не озаботился указанием лицензии значит Public domain

В newlib шапки не везде есть, хотя исходники на 99% соответствуют оригинальным.
Re: Оформление файлов исходного кода
Posted: Wed Dec 07, 2011 11:45 am
by Mario
Так нельзя. Одно дело если автор недоступен длительное время или вообще сложил свои жизненные полномочия. Совсем другое если он по ошибке выложил или вообще поторопился и не подумал. Мне кажется что BSD-MIT гораздо лучше подходит.
Re: Оформление файлов исходного кода
Posted: Wed Dec 07, 2011 1:16 pm
by SoUrcerer
Mario wrote:Так нельзя. Одно дело если автор недоступен длительное время или вообще сложил свои жизненные полномочия. Совсем другое если он по ошибке выложил или вообще поторопился и не подумал. Мне кажется что BSD-MIT гораздо лучше подходит.
И всё-таки нужно спросить авторов программ, и узнать их мнение. По законам нашей страны, авторское право остается закрепленным за авторами программ. Вроде бы "всё, что не запрещено, то разрешено", и, следовательно, можно делать всё, что угодно, кроме удаления упоминаний об авторе.
Если никто не против, пожалуйста, уважаемые авторы, выскажитесь по поводу лицензий для своих программ, входящих в состав Колибри.
Если возражений не поступит, я напишу письма всем тем авторам программ, кто уже не участвует в проекте, но чей код еще активно используется на сегодняшний день.
Re: Оформление файлов исходного кода
Posted: Wed Dec 07, 2011 1:29 pm
by Mario
У меня до поры только KFM был без заявленной лицензии, теперь я весь исходный код выкладываю под BSD подобной лицензией.
Re: Оформление файлов исходного кода
Posted: Wed Dec 07, 2011 2:34 pm
by SoUrcerer
Все портированные (и исправленные) мной приложения разумеется сохраняют лицензию. Если это Apache или GPL - я выдам исходные коды патчей к программам по первому запросу, если они у меня сохранились, конечно же.
Единственная программа, которая написана мной - это @notify. Пусть будет GPL v2. Мне не жалко, если программу будут использовать во всяких там прошивках без возможности эти прошивки заменить

Программа job фактически переписана Asper'ом, поэтому вопросы по поводу лицензии - к нему.
Ждем остальных авторов.
Re: Оформление файлов исходного кода
Posted: Wed Dec 07, 2011 3:24 pm
by art_zh
Мою версию преобразования Хартли можно свободно использовать любым боком, менять (всё кроме заголовка и копирайта) и адаптировать любой кусок кода как вздумается, продавать и использовать в закрытых приложениях - но только в Колибри и в ее версиях, непосредственно отпочковавшихся от основного транка.
В МеОС - однозначно нельзя (ибо нефиг хамить).
В других ОСях - пишите письма, договоримся.
То же относится к утилитам, новым "полувекторным" шрифтам и их парсеру.
Re: Оформление файлов исходного кода
Posted: Thu Dec 08, 2011 1:46 am
by SII
art_zh wrote:Мою версию преобразования Хартли можно свободно использовать любым боком, менять (всё кроме заголовка и копирайта) и адаптировать любой кусок кода как вздумается, продавать и использовать в закрытых приложениях - но только в Колибри и в ее версиях, непосредственно отпочковавшихся от основного транка.
В МеОС - однозначно нельзя (ибо нефиг хамить).
В других ОСях - пишите письма, договоримся.
То же относится к утилитам, новым "полувекторным" шрифтам и их парсеру.
Не спора ради... Что такое это самое преобразование Хартли, я понятия не имею, поэтому речь не столько о Вашем коде, сколько "вообще". Интересно узнать, какой смысл Вы вкладываете в накладываемые ограничения и как с ними предполагаете бороться, если такое будет возможно в принципе? Тут ведь возможны три основных варианта:
1. Прямое использование Вашего кода в МеОС;
2. "Адаптация" Вашего кода путём косметических переделок (изменение имён меток, перестановка регистров и т.п.);
3. Самостоятельная и не зависящая от Вас реализация той же самой идеи, в результате чего был получен код, принципиально совпадающий с Вашим.
Понятно, что первые два случая будут нарушением Ваших требований (удастся ли это доказать или нет -- другой вопрос), а вот третий случай нарушением не является, поскольку человек реализовывал ту же задачу совершенно самостоятельно, ну а получил принципиально тот же результат в силу объективных причин. (Например, две реализации одного и того же алгоритма для процессоров одной и той же архитектуры могут не иметь принципиальных отличий в силу того, что имеется лишь один оптимальный способ такой реализации, и именно он был избран обоими разработчиками). Тем не менее, подобная полностью независимая разработка формально может выглядеть как реализация пункта 2. Как быть в таком случае? Или Вы просто с этим не заморачиваетесь, поскольку изначально предполагаете, что единственным контролёром исполнения Ваших требований будет совесть пользователя?
По поводу копирайтов вообще. Когда-то где-то читал, что копирайты со своим именем (ну или названием конторы) надо указывать всегда, даже если автору абсолютно пофиг, что кто-то будет его кодом пользоваться: делать это надо для того, чтобы некто не слишком высоких моральных качеств не приписал авторство себе и не обвинил впоследствии реального автора в воровстве. Правда, не знаю, насколько обоснованны подобные опасения, но за что купил, за то и продаю

Re: Оформление файлов исходного кода
Posted: Thu Dec 08, 2011 2:40 am
by art_zh
SII wrote:По поводу копирайтов вообще. Когда-то где-то читал, что копирайты со своим именем (ну или названием конторы) надо указывать всегда, даже если автору абсолютно пофиг, что кто-то будет его кодом пользоваться: делать это надо для того, чтобы некто не слишком высоких моральных качеств не приписал авторство себе и не обвинил впоследствии реального автора в воровстве. Правда, не знаю, насколько обоснованны подобные опасения, но за что купил, за то и продаю

Да, это главная причина. Дармоедов много, но это еще полбеды. Хуже всего - агрессивные падлы, которые не только твой код (схему, патентную заявку) своруют, но еще тебя самого потом по судам затаскают. За то, что у них IP стырил!
А реально - за то что твой товар лучше работает (или дешевле продается), чем ихний. Прижатый к ногтю конкурент ни перед какой пакостью не остановится.
Так что (С) дешево ценится, да дорого ст
оит.
Если же кому-то захочется перелопатить код до неузноваемости ("from scratch") - то тут конечно претензий уже не будет. Только хлопотно это...