Случилось пожалуй то, чего хотели бы многие пользователи ресурса EVILEG среди Web-разработчиков.
Было принято решение открыть исходники EVILEG, тем более что уже неоднократно я получал просьбы показать исходники ресурса и даже предложения о посильном улучшении программного кода сайта.
Таким образом, взвесив все за и против, я решил, что отправить исходники EVILEG в Open Source не такая уж и плохая идея.
Подробности
А теперь о подробностях о ложках дёгтя, которые здесь кроются.
Не будет никакой бочки мёда, по крайней мере с самого начала. Дело в том, что просто взять и выложить исходники к отрытый доступ будет не самой лучшей идеей, как минимум потому, что я на данный момент занимаюсь разработкой в одиночку и мало ли какую дыру мог сделать, которую будет гораздо проще отыскать, если посмотреть код. Возможно я и не прав в этой ситуации? Но мне кажется, что лучше не показывать всех скелетов в шкафу.
При этом планируется вывести значительную часть исходников в качестве самостоятельных и самодостаточных модулей. Написано уже достаточно много кода и пора бы его привести в порядок в некоторых местах. Сделать более унифицированным и таким, чтобы можно было просто взять и подключить в другой проект. То есть пойти по пути реального "reusable app" , как предлагает Django Way .
Все исходники будут выложены на GitHub под лицензией LGPLv3.
Поскольку для сайта взято направления формирования небольшой социальной сети для программистов, то соответственно это будет и отображено в название проекта, а именно EVILEG Social Network Framework (ESNF) .
Надеюсь, что у меня получится сделать именно комплект для разработки, а не кучу трудно собираемых в одну кучу app, ведь написание библиотек - это совсем другой профессиональный уровень.
На данный момент в разработке находятся следующие модули:
- EVILEG Social Network Framework - Core (ESNF-C) - это главное ядро проекта, в котором будут абстрактные модели, менеджеры и прочие полезности. Данное app будет базовой зависимостью наряду с Django для всех остальных модулей.
Планируемые в ближайшем будущем модули
- EVILEG Social Network Framework - Like Dislike (ESNF-LD) - модуль лайков и дислайков, полноценная работа начнётся после максимально возможной миграции функционала в ядро
- EVILEG Social Network Framework - Icons (ESNF-ICO) - возможно соберу свой комплект иконок, поскольку меня до конца не устраивают те иконки, которые используются на сайте
- EVILEG Social Network Framework - Documentation (ESNF-DOC) - всё это придётся документировать, думаю добавить документацию по всем модулям на сайте и также отправить её в Open Source
Также будут выводиться и другие части проекта из-под закрытой части в Open Source, но пока и с тем, что запланировал работы хватит надолго.
Распространение модулей
Будет два пути распространнения
- В качестве Git-репозиториев на GitHub, которые были перечислены выше
- В качестве пакетов, которые можно будет установить через утилиту pip
Приём коммитов
Пока не уверен о том, как будет составлен приём коммитов, но планирую добавить Contributor License Agreement (CLA) - дабы не связывать себя как основного и пока единственного майнтейнера в некоторых моментах лицензионными вопросами.
Наверное подсмотрю эти моменты с CLA у Qt Company.
В крайнем случае просто оставлю всё под LGPLv3 и пускай всё это так и живёт во благо сообщества.
Выйдет ли из этого что-нибудь?
Возможно всё выше сказанное слишком громкие заявления, по чьему-либо мнению, но как бы написал же с нуля на досуге то, что вы сейчас видите. Да и за три года поддержки ресурса пока не потерял интерес.
Так что, думаю, что кое-что из этого всё-таки получится.
Поэтому предлагаю присоединятся в дальнейшем, когда появятся первые стабильные версии, к этому театру по разработке небольшого фреймворка.
Буду держать в курсе событий. Но чтобы вы всегда были в курсе этих новостей, подписывайтесь на соответствующий раздел статей EVILEG , поскольку это уже будет больше о разработке сайта EVILEG, хотя и с использованием Django, но тем не менее дальнейшие статьи о продвижении работ будут выпускаться там.