Поющие трусы

среда, 28 октября 2009 г. · 0 коммент.

Просто смешно =)

четверг, 15 октября 2009 г. · 0 коммент.

Различия между лицензиями на бесплатное ПО

вторник, 13 октября 2009 г. · 2 коммент.

К лицензиям подобного типа относятся GNU General Public License (GNU GPL), Berkeley software license (BSD), лицензия Apache, а теперь еще Netscape Public License и Mozilla Public License.

GPL - пожалуй, наиболее распространенная из лицензий, до появления Netscape Public License была еще и наиболее юридически проработанной. Она описывает все этапы использования текстов, начиная от распространения и заканчивая защитой от нарушения условий патентов. Самый важный пункт лицензии - наследование GPL любым программным обеспечением, в котором использован оригинал (недаром GPL означает Copyleft). Проще говоря, соглашение Copyleft требует, чтобы любое программное обеспечение, которое использует любую часть оригинального файла с грифом GPL, само должно полностью соответствовать GPL. Кроме того, каждый волен получить весь
исходный текст этого программного обеспечения либо бесплатно, либо оплатив стоимость доставки.

В отличие от GPL, лицензия Apache License имеет самые скромные ограничения. Единственное требование - любой исполняемый, исходный или производный продукт должен быть одобрен членами Apache Group, а производный текст автоматически будет "наследовать" лицензию Apache License. Эта лицензия также запрещает применять название Apache в рекламных целях или для маркировки других продуктов без письменного разрешения компании.

Лицензия Berkeley (BSD) существует дольше других указанных в этом списке. Как и лицензия Apache, она требует одобрения производных продуктов в Калифорнийском университете Беркли и должна быть включена в любой производный текст или исполняемый модуль. Из-за большого числа владельцев исходных текстов, включенных в состав Unix, эта лицензия недостаточно юридически выверена, в силу чего не может быть отнесена к классу Copyleft.

Лицензия Netscape Public License (NPL) весьма напоминает GPL. Все исходные тексты, распространяемые под грифом NPL, могут свободно использоваться в других программных проектах. В этом случае разработчикам нужно учитывать, что им придется распространять исходные тексты всех модулей, созданных Netscape, а также любого нового кода, который изменяет или использует код Netscape. Если программа предназначена для "внутреннего" применения, исходные тексты должны быть предоставлены специалистам той компании, где с ней работают.

Но наиболее интересный раздел NPL - это условие, которое позволяет Netscape использовать любые дополнения к открытому для широкой публики тексту в других своих продуктах (семействе серверов, к примеру) без компенсации или разрешения автора изменений и вне зависимости от того, подпадает ли этот код под действие лицензий с другими условиями, нежели NPL. На самом деле это условие позволяет Netscape использовать в своих коммерческих продуктах достижения всех специалистов, работающих с бесплатным программным обеспечением, в обмен на средства, вложенные компанией в разработку своего браузера Navigator. Прежде чем включить это условие в свою лицензию, Netscape провела консультации с пользователями, организовав на своем Web-узле дискуссию. Кроме того, Netscape внесла в свою лицензию поправки, предусматривающие применение другого варианта лицензии на бесплатное ПО,
Mozilla Public License.

Лицензия MPL практически аналогична NPL, за тем исключением, что Netscape не получает никаких особых прав на частное использование кода, написанного по условиям MPL. Netscape пытается очень четко сформулировать условия применения каждой лицензии. Во-первых, все исходные тексты Navigator попадают под действие лицензии NPL, предусматривающей, что любые изменения, сделанные в исходном тексте, могут быть включены в состав серверных продуктов Netscape и при этом компания не обязана указывать источник этих изменений. Однако на все новые файлы с исходным текстом, добавленные в проект Navigator и не содержащие оригинальный код Netscape, могут
распространяться условия лицензии MPL. Таким образом, для использования этих изменений Netscape обязуется, в соответствии с условиями MPL, бесплатно распространять также и те продукты, в которые эти изменения включены, что невозможно из-за существующих лицензионных соглашений с другими компаниями.

Customers rock!

среда, 16 сентября 2009 г. · 0 коммент.

Зачем нужен enum из двух объектов, если есть булевский тип?

пятница, 29 мая 2009 г. · 2 коммент.

На своем проекте заметил странное явление, в коде встречалось несколько перечислений примерно такого вида:

enum MyEnum
{
Value1,
NotValue1
}

Я думаю идея понятна. Есть два взаимоисключающих значения. Для этих значений заводится перечисление. Возникает закономерный вопрос: "Зачем?". Кроме лишнего кода этот шедевр больше ничего не привносит в проект. Каждый раз, когда нужно проверить какое-то условие, приходится код примерно такого вида:

if (myValue == MyEnum.Value1)

И так постоянно. Налицо дублирование кода, хоть и в мелких маштабах. От того, что это дублирование мелкое, легче не становится.

Мое мнение, что данное перечисление лучше (и логичнее) было бы заменить на булевое значение. Например сделать что-то наподибие такого:

bool IsValue1

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

Кто будет пойман с поличным (при написании очередного такого перечисления) или случайно (проблем посмотреть, кто этот файл создал в системе контроля версий нет) будет выставлен на публичное осмеяние =))

Привязка к производителю

суббота, 23 мая 2009 г. · 0 коммент.

В экономике, привязка к производителю, также известная как имущественная привязка, делает клиента зависимым от поставщика на продуктов и услуг, не давая возможности использовать другой поставщика без существенных издержек переключения. Расходы на привязку, которые создают барьеры для выхода на рынок может привести к недоверию против монополии.

Грибное управление

· 0 коммент.

Грибной управление является аллюзией к компании, где с сотрудниками обращаются, как грибам: держут в темне, удобряют, а когда выросли достаточно большим консервируют. В смысл заключается в том, что руководство принимает решение без консультации с персоналом, которые будут подвежены этим решеням - и, возможно, даже не информируя сотрудников еще долго после того, как решение принято.

Этот феномен является анти-паттерном, который чаще всего можно найти в организациях, которые имеют строгую иерархию и барьеры для межорганизационных связей (особенно с дымоходные организации), но их также можно найти в любой организации.

Обо мне

Моя фотография
Андрей
Кто к нам с чем и зачем, тот от того и того!
Просмотреть весь профиль

Архив