Re[9]: Повторное использование кода
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.07.09 06:33
Оценка: +1
Здравствуйте, x905, Вы писали:

X>но тогда FSF будет наезжать на вашего заказчика — он же использует GPL в своих внутренних продуктах, но код этих продуктов не открывает


Заказчик не ведет разработки. Соответственно, на него GPL не распространяется.

X>заказчик это понимает ?


Заказчику важно a) иметь работающий продукт и b) иметь возможность передать разработку продукта другому подрядчику.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Повторное использование кода
От: minorlogic Украина  
Дата: 24.07.09 06:55
Оценка: +2
Я считаю, что это один из признаков зрелого програмиста. Умение грамотно переиспользовать код.

В современном мире програмирования , не так много задач нерешенных, и не очень много задач не решенных качественно.

Особенно это относится к типовым задачам, такие как работа с БД, сериализация, RPC и т.п.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Повторное использование кода
От: minorlogic Украина  
Дата: 24.07.09 07:04
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Или же написан как кура лапой c совершенно невменяемыми именами функций, переменных и т.п. — причесывание, rename и переделка критических мест.

CC>Или просто плохо читаем — тогда просто проход с "причесыванием" и refactor rename для непонятных имён.


Как пример, используя ACE вы каждый раз с выпуском новой версии будете переименовывать код , чтобы он выглядил привычно ?
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: Повторное использование кода
От: CreatorCray  
Дата: 24.07.09 07:46
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Как пример, используя ACE вы каждый раз с выпуском новой версии будете переименовывать код , чтобы он выглядил привычно ?

ACE подпадает под пункт "использования стороннего public domain кода больших объемов" — напишется враппер.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Повторное использование кода
От: x905  
Дата: 24.07.09 08:11
Оценка: +1
2 eao197

Так я наоборот хотел сказать, что для своих целей, внутри своей компании, можно использовать GPL код внутри своего и не показывая никому исходники всего проекта.

Вот непонятно почему FSF пытается наезжать на компании, которые используют GPL в своих внутренних продуктах, но коды этих продуктов не открывают? На основании чего? Какие есть примеры?
Re[4]: Повторное использование кода
От: DemAS http://demas.me
Дата: 24.07.09 09:01
Оценка:
> Кардинально переписывать, вникая в алгоритм, и по сути постепенно реализуя его заново пришлось наверное только в 30-40% случаев.
> Остальное свелось к причёсыванию кода, покрытию его тестами и приведению к coding standard.

А что потом делаешь с причесанным кодом? Отправляешь ли изменения
автору (ам)? Если нет, то как решаешь проблему, когда разработчики
выпускают новую версию кода и возникает необходимость использовать ее?
Подтягиваешь в свой код новые изменения? Заново рефакторишь?
Posted via RSDN NNTP Server 2.1 beta
Re[11]: Повторное использование кода
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.07.09 09:15
Оценка:
Здравствуйте, x905, Вы писали:

X>Так я наоборот хотел сказать, что для своих целей, внутри своей компании, можно использовать GPL код внутри своего и не показывая никому исходники всего проекта.


Тут не все так просто. Некоторые продукты выкладывают под GPL только для некоммерческого использования. Т.е., если какая-то компания использует тот же Qt для разработки продукта, с помощью которого она зарабатывает деньги, то она нарушает условия использования продукта.

Еще есть вопрос с модификацией GPL-ного кода. Скажем, даже исправленный в GPL-ном коде баг должен быть опубликован.

X>Вот непонятно почему FSF пытается наезжать на компании, которые используют GPL в своих внутренних продуктах, но коды этих продуктов не открывают? На основании чего? Какие есть примеры?


Примеры сейчас я найти не могу, но некоторое время назад на LOR-е проскакивали темы о том, что у FSF есть претензии к ряду компаний, которые используют GPL-ные продукты у себя, но не раскрывают их код. Насколько я помню, среди прочих был и Google, который на своих серверах использует модифицированные варианты Linux-а.
Хотя, возможно я путаю претензии FSF и заявления Столлмана (которому такие вещи точно не нравятся)


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[10]: Повторное использование кода
От: BigBoss  
Дата: 24.07.09 09:24
Оценка:
Здравствуйте, eao197, Вы писали:

X>>но тогда FSF будет наезжать на вашего заказчика — он же использует GPL в своих внутренних продуктах, но код этих продуктов не открывает


E>Заказчик не ведет разработки. Соответственно, на него GPL не распространяется.


нельзя ли поподробнее? В оригинале всё же было:

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions...

X>>заказчик это понимает ?
Re: Повторное использование кода
От: SV.  
Дата: 24.07.09 09:32
Оценка: +1
Здравствуйте, Kore Sar, Вы писали:

KS>Сорсфорж меня, как админа одного из проектов, попросил заполнить анкету. Анкета касалась повторного использования кода в оперсонрсных программах. В связи с чем у меня возникло подозрение, что мало людей использует чужой код. А ведь это золотая жила.


KS>Сейчас понаписано миллионы строк одинакового кода различными людьми и довольно много кода открыто для свободного использования. И самый эффективный программист это тот, который ипользует чужой код по максимуму и не пишет больших велосипедов.


KS>Ваши мнения?


Да, если подходить абстрактно, это очень даже неплохо — взять чужой код, особенно, если бесплатно, и пр. А если конкретизировать? Я писал когда-то код трехмерной визуализации геологических пластов — откуда еще следовало брать код (помимо библиотек)? Я пересмотрел немало сэмплов, но все было не то. Либо движки были заточены под заранее готовые ресурсы (100% игрового кода), либо написаны каким-нибудь шведским врачом для отображения костей, и все прохардкожено. А мне надо было отображать raw-данные в реальном времени и вовсе даже не кости. Конечно, мой пример — это мой пример. Приведете свой, где использование готового кода было бы оправдано?
Re[11]: Повторное использование кода
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.07.09 09:41
Оценка: 1 (1)
Здравствуйте, BigBoss, Вы писали:

X>>>но тогда FSF будет наезжать на вашего заказчика — он же использует GPL в своих внутренних продуктах, но код этих продуктов не открывает


E>>Заказчик не ведет разработки. Соответственно, на него GPL не распространяется.


BB>нельзя ли поподробнее? В оригинале всё же было:


BB>6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions...


Это значит, что когда мы передали заказчику исходный код продукта (который уже попал под GPL), мы выполнили условия GPL. И теперь заказчик обладает всеми перечисленными правами. Но в GPL, насколько я помню, нет упоминания о том, что покупатель программы обязан публиковать ее код. Публиковать код обязан производитель (что мы и делаем, передавая исходники заказчику). И, поскольку покупатель не производит ничего с полученным кодом, то и открывать он его не обязан. Но имеет право делать с кодом все, что захочет в рамках GPL. Если захочет


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: Повторное использование кода
От: swined Россия  
Дата: 24.07.09 09:54
Оценка:
Здравствуйте, eao197, Вы писали:

E>Это значит, что когда мы передали заказчику исходный код продукта (который уже попал под GPL), мы выполнили условия GPL. И теперь заказчик обладает всеми перечисленными правами. Но в GPL, насколько я помню, нет упоминания о том, что покупатель программы обязан публиковать ее код. Публиковать код обязан производитель (что мы и делаем, передавая исходники заказчику). И, поскольку покупатель не производит ничего с полученным кодом, то и открывать он его не обязан. Но имеет право делать с кодом все, что захочет в рамках GPL. Если захочет


дык опубликовать ты должен всем, а не только заказчику
Re[5]: Повторное использование кода
От: CreatorCray  
Дата: 24.07.09 10:00
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>А что потом делаешь с причесанным кодом? Отправляешь ли изменения

DAS>автору (ам)?
Нет.

DAS>Если нет, то как решаешь проблему, когда разработчики

DAS>выпускают новую версию кода и возникает необходимость использовать ее?
Новые версии берутся только в случае критических изменений.

DAS>Подтягиваешь в свой код новые изменения? Заново рефакторишь?

Diff новой версии со старой, внесение соответствующих правок в отрефакторенный код.
Ну или заново отрефакторить если настолько поменялось.
Следует отдельно напомнить, что процедура тотального рефакторинга применяется лишь к небольшим исходникам.

Вообще версия обычно фиксируется и постоянного обновления не делается. Ибо "зачем чинить то, что не сломано" и было пару моментов когда обновление стороннего кода приводило к несовместимостям или неправильной работе всего проекта вообще.
Впрочем новые версии периодически анализируются на предмет особо ценных добавлений.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Повторное использование кода
От: WFrag США  
Дата: 24.07.09 10:01
Оценка: +1
Здравствуйте, swined, Вы писали:

E>>Это значит, что когда мы передали заказчику исходный код продукта (который уже попал под GPL), мы выполнили условия GPL. И теперь заказчик обладает всеми перечисленными правами. Но в GPL, насколько я помню, нет упоминания о том, что покупатель программы обязан публиковать ее код. Публиковать код обязан производитель (что мы и делаем, передавая исходники заказчику). И, поскольку покупатель не производит ничего с полученным кодом, то и открывать он его не обязан. Но имеет право делать с кодом все, что захочет в рамках GPL. Если захочет


S>дык опубликовать ты должен всем, а не только заказчику


Не всем, а только тем, кому распространяешь бинарники. Если заказчик будет распространять конечным пользователям (например, в составе железки), то он и им будет обязан предоставлять исходники.

GPL v2:

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.


Соответственно, кто не учавствует в указанных активностях претендовать ни на что и не может в рамках этой лицензии.
Re: Повторное использование кода
От: March_rabbit  
Дата: 24.07.09 10:01
Оценка:
Здравствуйте, Kore Sar, Вы писали:

KS>Сорсфорж меня, как админа одного из проектов, попросил заполнить анкету. Анкета касалась повторного использования кода в оперсонрсных программах. В связи с чем у меня возникло подозрение, что мало людей использует чужой код. А ведь это золотая жила.


KS>Сейчас понаписано миллионы строк одинакового кода различными людьми и довольно много кода открыто для свободного использования. И самый эффективный программист это тот, который ипользует чужой код по максимуму и не пишет больших велосипедов.


KS>Ваши мнения?

идея красивая, нет слов.
Вот с реализацией проблемы.

Ну взяли мы за основу нашего продукта Mozilla Thunderbird. Так последний год больше половины времени уходит на починку всяческих багов в нем, на попытку заставить его работать так как надо нам и прочее..... Плюс к этому монстрообразность и внутреннюю кривизну. Результат — общее мнение, что решение взять тандербёрд за основу — было ошибкой.

Далеко не всякий код можно взять и использовать. Все-таки, чтобы код мог быть использовать повторно, он должен разрабатываться "на перспективу". Иначе, будет как в Qt: шаг в сторону от единственно верного пути — расстрел.

Добавить сюда логику разработчика и получится вообще нереалистичность повторного использования.
Re[12]: Повторное использование кода
От: BigBoss  
Дата: 24.07.09 10:30
Оценка:
Здравствуйте, eao197, Вы писали:

BB>>нельзя ли поподробнее? В оригинале всё же было:


BB>>6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions...


E>Это значит, что когда мы передали заказчику исходный код продукта (который уже попал под GPL), мы выполнили условия GPL. И теперь заказчик обладает всеми перечисленными правами. Но в GPL, насколько я помню, нет упоминания о том, что покупатель программы обязан публиковать ее код. Публиковать код обязан производитель (что мы и делаем, передавая исходники заказчику). И, поскольку покупатель не производит ничего с полученным кодом, то и открывать он его не обязан. Но имеет право делать с кодом все, что захочет в рамках GPL. Если захочет


Здорово получается, у всех одни права и никаких обязанностей По-вашему выходит, я могу зарегистрировать какое-нибудь ООО ФСФ, которое будет посредником, распространяющим лицензионно-проблемный код, и про ограничения GPL можно будет забыть?
Re[13]: Повторное использование кода
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.07.09 10:35
Оценка:
Здравствуйте, BigBoss, Вы писали:

BB>Здорово получается, у всех одни права и никаких обязанностей


Наша обязанность -- отдать потребителю продукта его исходный код.
У потребителя нет никаких обязанностей, пока он не берется распространять продукт.

BB>По-вашему выходит, я могу зарегистрировать какое-нибудь ООО ФСФ, которое будет посредником, распространяющим лицензионно-проблемный код, и про ограничения GPL можно будет забыть?


Насколько я понимаю, продавая Enterprise Linux компания RedHat именно так и поступает.
Покупатели EL не распространяют, почему-то, купленный ими EL.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Повторное использование кода
От: thesz Россия http://thesz.livejournal.com
Дата: 24.07.09 11:03
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, eao197, Вы писали:


E>>Не сочтите за придирку, но GPL очень сложно назвать "запрещенным к использованию". Поэтому термин "запрещен к использованию" следовало бы уточнить.

CC>GPL это вирусная лицензия, заставляющая выпускать свой продукт тоже только под GPL.

Nope. Через прокси (плагин) всё будет работать.

CC>Поэтому она закрывает легальное использование кода не в GPL проектах. Что есть сакс.


Ничего подобного.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[14]: Повторное использование кода
От: x905  
Дата: 24.07.09 11:37
Оценка:
Здравствуйте, eao197, Вы писали:

E>Наша обязанность -- отдать потребителю продукта его исходный код.

E>У потребителя нет никаких обязанностей, пока он не берется распространять продукт.

а ваш заказчик понимает это?
вот например такой интересный момент: заказчик решил установить это ПО на свой сервер, вывел его в инет и предоставляет некий сервис за плату
должен он тогда раскрыть код ?
Re[15]: Повторное использование кода
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.07.09 11:46
Оценка:
Здравствуйте, x905, Вы писали:

E>>Наша обязанность -- отдать потребителю продукта его исходный код.

E>>У потребителя нет никаких обязанностей, пока он не берется распространять продукт.

X>а ваш заказчик понимает это?



Наше дело предупредить

X>вот например такой интересный момент: заказчик решил установить это ПО на свой сервер, вывел его в инет и предоставляет некий сервис за плату

X>должен он тогда раскрыть код ?

Не думаю. Еще раз сошлюсь на пример с Enterprise Linux. Он часто используется, например, в банках. В том числе и для поддержки internet-сервисов банка. Но банки не распространяют его исходники.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[14]: Повторное использование кода
От: BigBoss  
Дата: 24.07.09 14:07
Оценка: :)
Здравствуйте, eao197, Вы писали:

BB>>По-вашему выходит, я могу зарегистрировать какое-нибудь ООО ФСФ, которое будет посредником, распространяющим лицензионно-проблемный код, и про ограничения GPL можно будет забыть?


E>Насколько я понимаю, продавая Enterprise Linux компания RedHat именно так и поступает.

E>Покупатели EL не распространяют, почему-то, купленный ими EL.

Всё, пошёл регистрировать. Напомните, с кем там сейчас FSF судится, чтоб мне первых клиентов долго не искать
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.