Всем привет!
Недавно я публиковал статью о том, что HalChat вышел в Google Play, и это вызвало небольшой ажиотаж вокруг проекта. Буквально за пару дней мы пробили отметку в 100+ скачиваний, а за один день было зарегистрировано 60 новых пользователей. Оценив такой отклик, я решил, что нужно идти дальше и сделать клиент HalChat для Android открытым.
Почему Open Source и почему именно сейчас?
С сегодняшнего дня HalChat официально становится Open Source проектом и распространяется под лицензией GNU GPLv3. Зачем я это делаю?
-
Прозрачность и доверие: Мессенджер — это личное пространство. Пользователи и другие разработчики должны видеть, как устроено приложение изнутри, как обрабатываются данные и как работают мои алгоритмы.
-
Развитие экосистемы: Разработка в одиночку — это круто, но комьюнити может сделать проект в разы лучше. Теперь каждый желающий может развернуть свою копию, предложить фичу или исправить баг.
-
Опыт для всех: Исходный код клиентской части теперь доступен для изучения. Надеюсь, он будет полезен тем, кто тоже хочет построить что-то своё.
Где найти код? Все исходники я выложил в публичный репозиторий на базе GitHub. Ссылку прикрепляю в конце статьи. Буду рад вашим пулл-реквестам и фидбеку!
Как происходил переход в OpenSource
С технической точки зрения это было несложно, но есть главные правила, которые нужно учесть при публикации:
-
Выбор лицензии: Очень важно подобрать правильную лицензию, которая будет определять взаимодействие людей с вашим кодом и с вами. Будет ли доступно его редактирование, обязаны ли оставить ваш копирайт, могут ли использовать в коммерческих целях. Советую выбирать с прицелом на будущее проекта, это можно сделать например, на choosealicense.com.
-
Настройка .gitignore: Если вы хотите, чтобы ваши личные данные, секретные ключи проекта и другая непубличная информация не утекли вместе с релизом, обязательно добавьте их в исключения.
-
Подготовка README и SECURITY: Это важные путеводители по вашему проекту. В них вы можете подробно рассказать о проекте, правилах взаимодействия, ввести контрибьюторов в курс дела, а также описать политики безопасности.
Обновление v1.0.1
Кроме того вместе с выходом в Open Source, я выпустил обновление v1.0.1 (Open Source), вот его краткое примечание:
1) Добавлена отправка сообщений после получения доступа к интернету
2) Добавлена кнопка в меню чтобы открыть список пользователей
3) Убрана дата рождения из регистрации
4) Добавлена синхронизация действий
5) Добавлены комментарии
6) Добавлено сквозное шифрование для всех паролей для сервера
7) Убраны комментарии из списка чатов
8) Добавлено скрытие отправителя, как создателя поста в канале
9) Добавлено обновление сообщения когда дозагружен файл и предзагрузка изображений
Что дальше? Планы на будущее
Выход в Open Source — это не финал, а только начало. В планах по развитию экосистемы HalChat:
-
Оптимизация и рефакторинг: После открытия кода хочется навести идеальный порядок в серверной части и UI.
-
Полный перенос Web версии на Android: На данный момент в приложение перенесено всего около 30% функционала веб-версии HalChat, так что работы впереди много.
-
Выход на другие платформы: В перспективе необходимо выпустить клиенты под Windows, Linux, macOS и iOS.
Заключение
Проект растет, и превращение его в Open Source — это шаг к созданию независимого, открытого комьюнити вокруг HalChat.
Заходите в мой репозиторий, качайте приложение, тестируйте и пишите, что думаете. Любая критика, предложения и кодовая помощь сейчас на вес золота!
Ссылки:
Соц. сети:
ссылка на оригинал статьи https://habr.com/ru/articles/1041752/