Сталося, мабуть, те, чого хотіли б багато користувачів ресурсу 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, але проте подальші статті про просування робіт випускатимуться там.