Программист Эрик Бруно рассказал в своем блоге с чего стоит начинать свой Open Source-проект и на что обратить внимание в первую очередь.
Эрик увлекается Java-программированием и недавно решил создать свой собственный мессенджер, с кластеризацией и высокой доступностью. Первоначально в планах было выпустить программу под проприетарной лицензией, чтобы сохранить за собой возможность когда-нибудь взимать за лицензию плату. Но поразмыслив, Эрик решил, что использование свободных лицензий открывает гораздо больше возможностей. Главным образом, преимущества заключаются в более легком формировании вокруг проекта сообщества и в привлечении к проекту общественного интереса с меньшими затратами.
Самым первым шагом, по мнению Эрика, является выбор лицензии. Это очень важный выбор, так как во многом определяет будущее программы. Многие новички тут совершают ошибку, начиная распространять свой код вообще без лицензии, считая, что это и есть настоящая свобода для программы и большой подарок для всего общества. Но такие энтузиасты забывают, что лицензия не только устанавливает права и обязанности для пользователя, но и защищает автора от возможного судебного преследования. Например, если из-за программы, которая распространяется с неграмотно составленной лицензией или вовсе без нее, у пользователя случайно будут повреждены данные или оборудование, то суд обяжет автора компенсировать убытки. Поэтому и нужна лицензия, которая снимает ответственность с автора. Желательно, чтобы это была одна из проверенных временем лицензий, например, GPL.
Самих свободных лицензий существует довольно много, но основные из них: GPL, MIT, BSD и Apache. Из них и стоит выбирать. Эрик призывает внимательно изучать текст лицензий и быть особенно осторожным с лицензией GPL, которая содержит наибольшее число ограничений и обладает так называемым вирусным эффектом. Это значит, что ее условия автоматически распространяются на любое ПО, которое использует другой софт под GPL-лицензией или является производным от него.
Второй важный шаг заключается в выборе площадки для вашего проекта. И дело тут вот в чем. Пока вы являетесь единственным автором программы, исходный код можно хранить на своем домашнем компьютере. А что, если количество авторов со временем перевалит за десяток или даже сотню? А если программу начнут скачивать тысячи пользователей каждые сутки? Поэтому код программы следует хранить в специализированном интернет-репозитории. Основные из них:
- Google Code Project;
- SourceForge;
- GitHub;
- CodePlex;
- Gna!;
- BitBucket.
При выборе платформы для своего проекта следует учитывать огромное количество нюансов: тип лицензии (например, в Gna! разрешено хранить только GPL-программы), аудиторию проекта, тип системы контроля версий (GitHub, например, поддерживает только Git) и даже ваше географическое положение (SourceForge и Google Code не работают со странами, против которых введены санкции со стороны США — Иран, Северная Корея и ряд других).
После выбора лицензии и площадки для работы следует определиться с формой общения с пользователями и своей командой разработчиков (возможно, потребуется создать блоги, форумы и т.п.). Кроме этого, вас ожидает еще масса увлекательных забот: разграничение доступа, контроль качества кода, юридические нюансы при использовании сторонних библиотек и многое другое.
Если читатель желает посмотреть что в итоге получилось у Эрика, то может посетить страницу его проекта JetStreamQ в Google Code.
Первым шагом у Бруно (как предок его, однофамильский, хотя бы...) должна была быть "простая бумажка" с рассчётом эффективности его затеи.
Это в школе и у 90%-ов выпускников ВУЗ-ов по специальности IT трудности с применением, поскольку программирование - это не юриспруденция, а сторонними знаниями 10% обладают из общего... обычно....
Супер! Судя по данному условию логических выражений - то во главу угла ставиться не вычленение известных конкурентоспособных проектов путём нормального проектирования, конечно, и тонкого менеджмента, а размещение, выступающее в роли насыщения собственным эго в виде необузданного кода, который ПОТОМ МЫ ПРИЧЕШЕМ!... Но у русских на этот счёт пословица не одна скопилась... А потом удивляются - почему русские в опенсорсе мало по-малу... Так, самим нужно логичнее подходить к задачам...
Офигительная статья, а ведь могли просто и по-человечески написать правду: "Человек, если ты обладаешь чем-то, что тебе не страшно делить с другими людьми - оформляй это по таким-то (линк на: GNU, Apache, BSD, etc...) правилам, как делаем это мы, например...