Если вкратце, проблема освобождения памяти в C++ в современном мире не особенно актуальна. Вместо
Obj *p = new Obj;
любой нормальный программист сейчас пишет что-то вроде
shared_ptr<Obj> p = new Obj;
При этом shared_ptr — это объект, который уничтожит Obj самостоятельно при выходе за границы области видимости.
Таки рад, что дочитал до вашего комментария, и могу отписать именно сюда :)
Вот с этим не надо утрировать — нарывался много раз… сейчас нахожусь в Японии, где практически любая крупная фирма имеет своё локальное отделение. Купить что-либо в интернете — проблема.
Заходишь на корпоративный сайт, пытаешься заказать товар. Они видят адрес и говорят: ага, так вы из Японии! Ну и шуруйте на .co.jp, где всё только на японском языке. Бесит чудовищно.
Это хитрый момент. Я понимаю, вы проводите аналогию с вашим примером Фотошопа.
Вот представьте, что Адоб начнёт вместе с фотошопом распространять какие-то GPL плагины. Не уверен, что это будет воспринято адекватно.
Т.е. плагин к фотошопу — это хорошо. А вот за деньги продавать «фотошоп с плагином» — это уже на краю допустимого.
К моему случаю ближе пример со спеллчекером к ворду. Ну да, спеллчекер — это вроде как составная часть Ворда, но вроде бы и не обязательная. Да и не каждая фирма пойдёт на оплату разработки GPL спеллчекера для их продукта, это тоже ясное дело…
А в предыдущих версиях GPL так?.. Те проекты, которые я изучал, существуют уже несколько лет, на них просто наложена лицензия GPL (вроде v1 или v2), и никто версию обновлять не собирается.
Но в любом случае большое спасибо за информацию, перепроверю.
Помню, была дискуссия где-то на тему всяких технических уловок. В стиле «а я напишу переходник для библиотеки и сделаю его GPL-релиз, а основная программа будет этот переходник использовать через динамический интерфейс». Но ответы сводились к тому, что эти уловки не спасут.
Ох, заболтался, извините, но дискуссия интересная :)
Конечно, вы правы в том, что лишь автору решать, на каких условиях раздавать код. Просто позицию «собаки на сене» я не понимаю и не разделяю.
Ведь в конечном итоге от того, что мне этот компонент не дадут, ничего не изменится. Я стрясу с заказчика побольше денег и куплю компонент у другого, либо напишу сам. Понятно, что из-за спелчекера никто не будет открывать исходники всего MS Office.
Просто глупо как-то. Что бы сказали на это «зелёные»? Сколько электричества и людского труда будет потрачено лишь из-за того, что кто-то упёрся и не хочет продать или подарить свой компонент?.. Как-то глупо повторять уже сделанную работу. И странно, что это довод их не беспокоит.
Ну что ж, пусть наживётся капиталист. Или я сожгу кучу электричества :)
Ну здрасьте!
А почему мне не заработать на _существующем_ компоненте (неважно, кто его автор и какова его религия)? Что они против этого имеют? Если хотят, чтобы я поделился, я готов поделиться! Но просто говорить: «мы не хотим денег и тебе не дадим» — этого я не понимаю. При этом, естественно, их компонент останется бесплатным и свободным, я же не плагиатор.
Проблема в том, что эти примеры годятся для отдельных случаев, но не годятся для других.
Ключевое слово — ИХ версия. Т.е. они открыли отдельные модули под GPL, но не взяли чужие.
А теперь предположим, что вы хотите написать прекрасный спеллчекер для Ворда и продать его майкрософту. Но вам для этого нужен чужой GPL-компонент. Что делать?
Если речь идёт о солидном GPL-модуле, авторство там «размазано» по куче исполнителей со своими представлениями о прекрасном. Нет того, кто может принять единоличное решение.
При всём уважении к вам, если бы вопрос стоял о модуле, который может потянуть один человек за разумное время — я бы это сделал сам, да ещё и зарплату бы себе за это взял ;)
Да, такие примеры приводить удобно. А теперь подумайте, сколько всего НЕ появилось вообще, благодаря GPL.
Я бы сказал так. Если представить себе некий успешный коммерческий продукт, в котором указано, что он состоит из LGPL модуля M1 и закрытого модуля M2, велика вероятность, что кто-то напишет открытый аналог M2 — и всем будет только лучше.
Ну, попробуем по порядку.
Этот блог называется «я негодую». Вон тут пишут про милицию, про магазины, про сбербанк и почту. Хотя всем и так ясно, что у нас за страна. И всё равно пишут.
Вот теперь моя очередь негодовать. То есть, теоретически я, конечно, всё это знал (как и другие), но столкнувшись лично, не могу промолчать ;)
По поводу разработчиков. Разумеется, любой волен выбирать нравящийся ему способ распространения. Я лишь говорю потенциальным авторам: ребята, если вы ходите писать опен сорс, не приравнивайте это понятие к лицензии GPL. Рассмотрите хотя бы LGPL, вдруг кто не в курсе, что на самом деле значит GPL, и чем она плоха.
Ну и ещё один момент — я считаю, что университеты, живущие на деньги общества, в целом поступают некрасиво, ограничивая доступ общества к их продуктам таким способом. Но здесь я дискуссию такого морального характера открывать не хочу — у всех свои соображения.
Я уже говорил, проблема обычно в том, что если библиотека выходит за рамки «hello, world», у неё обычно бывает много разработчиков, и у каждого своего мнения. Нет единого «хозяина проекта», готового решить мою проблему.
Почему? Я готов распространять GPL-код совместно со своим, то есть код, которым я воспользовался, останется свободным, и я его приложу к своей программе. Почему я обязан распространять свой код тоже??
Я не могу позволить себе выложить весь свой модуль плюс продукт заказчика в исходниках, да ещё и под GPL. Ведь заказчик производит коробочный продукт, его нельзя так просто взять и раздать, пропадает весь смысл работы :)
LGPL свободнее, чем GPL, вот всё, на что я претендую. Почему нельзя линкануть GPL-код в коммерческую программу и при этом приложить исходник GPL-кода в пакет — для меня загадка.
Почему это правильно? Смысл опен сорса в том, чтобы дать людям «свободный» софт — а на самом деле у меня нет никакой свободы, это сектанство чистой воды. Я пишу свой софт, и чтобы юзать другой софт — я обязан войти в эту секту. Не вижу, в чём свобода. LGPL куда более свободен по любым метрикам.
По поводу «платить» — выше я уже сказал — я готов платить, и вовсе не рассчитываю на халяву. Ну напишите в лицензионном соглашении, что коммерческое использование требует отчислений и так далее. Кто мешает-то? Лично обратиться к автору не всегда возможно, т.к. у действительно серьёзного проекта много авторов, и нет единого «центра принятия решений».
Посмотрите на тот же C++, для которого прошлый стандарт был закреплён в 1998 году.
Obj *p = new Obj;
любой нормальный программист сейчас пишет что-то вроде
shared_ptr<Obj> p = new Obj;
При этом shared_ptr — это объект, который уничтожит Obj самостоятельно при выходе за границы области видимости.
Вот с этим не надо утрировать — нарывался много раз… сейчас нахожусь в Японии, где практически любая крупная фирма имеет своё локальное отделение. Купить что-либо в интернете — проблема.
Заходишь на корпоративный сайт, пытаешься заказать товар. Они видят адрес и говорят: ага, так вы из Японии! Ну и шуруйте на .co.jp, где всё только на японском языке. Бесит чудовищно.
Вот представьте, что Адоб начнёт вместе с фотошопом распространять какие-то GPL плагины. Не уверен, что это будет воспринято адекватно.
Т.е. плагин к фотошопу — это хорошо. А вот за деньги продавать «фотошоп с плагином» — это уже на краю допустимого.
К моему случаю ближе пример со спеллчекером к ворду. Ну да, спеллчекер — это вроде как составная часть Ворда, но вроде бы и не обязательная. Да и не каждая фирма пойдёт на оплату разработки GPL спеллчекера для их продукта, это тоже ясное дело…
Но в любом случае, соображения интересные!
Но в любом случае большое спасибо за информацию, перепроверю.
Помню, была дискуссия где-то на тему всяких технических уловок. В стиле «а я напишу переходник для библиотеки и сделаю его GPL-релиз, а основная программа будет этот переходник использовать через динамический интерфейс». Но ответы сводились к тому, что эти уловки не спасут.
Конечно, вы правы в том, что лишь автору решать, на каких условиях раздавать код. Просто позицию «собаки на сене» я не понимаю и не разделяю.
Ведь в конечном итоге от того, что мне этот компонент не дадут, ничего не изменится. Я стрясу с заказчика побольше денег и куплю компонент у другого, либо напишу сам. Понятно, что из-за спелчекера никто не будет открывать исходники всего MS Office.
Просто глупо как-то. Что бы сказали на это «зелёные»? Сколько электричества и людского труда будет потрачено лишь из-за того, что кто-то упёрся и не хочет продать или подарить свой компонент?.. Как-то глупо повторять уже сделанную работу. И странно, что это довод их не беспокоит.
Ну что ж, пусть наживётся капиталист. Или я сожгу кучу электричества :)
А почему мне не заработать на _существующем_ компоненте (неважно, кто его автор и какова его религия)? Что они против этого имеют? Если хотят, чтобы я поделился, я готов поделиться! Но просто говорить: «мы не хотим денег и тебе не дадим» — этого я не понимаю. При этом, естественно, их компонент останется бесплатным и свободным, я же не плагиатор.
Ключевое слово — ИХ версия. Т.е. они открыли отдельные модули под GPL, но не взяли чужие.
А теперь предположим, что вы хотите написать прекрасный спеллчекер для Ворда и продать его майкрософту. Но вам для этого нужен чужой GPL-компонент. Что делать?
Если речь идёт о солидном GPL-модуле, авторство там «размазано» по куче исполнителей со своими представлениями о прекрасном. Нет того, кто может принять единоличное решение.
При всём уважении к вам, если бы вопрос стоял о модуле, который может потянуть один человек за разумное время — я бы это сделал сам, да ещё и зарплату бы себе за это взял ;)
Я бы сказал так. Если представить себе некий успешный коммерческий продукт, в котором указано, что он состоит из LGPL модуля M1 и закрытого модуля M2, велика вероятность, что кто-то напишет открытый аналог M2 — и всем будет только лучше.
Этот блог называется «я негодую». Вон тут пишут про милицию, про магазины, про сбербанк и почту. Хотя всем и так ясно, что у нас за страна. И всё равно пишут.
Вот теперь моя очередь негодовать. То есть, теоретически я, конечно, всё это знал (как и другие), но столкнувшись лично, не могу промолчать ;)
По поводу разработчиков. Разумеется, любой волен выбирать нравящийся ему способ распространения. Я лишь говорю потенциальным авторам: ребята, если вы ходите писать опен сорс, не приравнивайте это понятие к лицензии GPL. Рассмотрите хотя бы LGPL, вдруг кто не в курсе, что на самом деле значит GPL, и чем она плоха.
Ну и ещё один момент — я считаю, что университеты, живущие на деньги общества, в целом поступают некрасиво, ограничивая доступ общества к их продуктам таким способом. Но здесь я дискуссию такого морального характера открывать не хочу — у всех свои соображения.
Ну хотя бы дайте заплатить и поюзать, а иначе вообще запрещено и точка!
По поводу «платить» — выше я уже сказал — я готов платить, и вовсе не рассчитываю на халяву. Ну напишите в лицензионном соглашении, что коммерческое использование требует отчислений и так далее. Кто мешает-то? Лично обратиться к автору не всегда возможно, т.к. у действительно серьёзного проекта много авторов, и нет единого «центра принятия решений».