Открытый код: что открыто на самом деле
Про Happ часто пишут «приложение с открытым кодом» — и это утверждение нужно уточнить, иначе оно вводит в заблуждение. Открытость здесь не одна, а слоями: одно можно прочитать построчно, другое — только скачать готовым.
Три слоя, и они разные
| Слой | Что это | Что можно посмотреть |
|---|---|---|
| Ядро | движок, который поднимает соединение и шифрует канал | исходный код открытых проектов такого класса публикуется и читается кем угодно |
| Оболочка | интерфейс приложения, списки, настройки | по нашим наблюдениям, публикуются готовые сборки, а не исходники |
| Релизы | файлы, которые вы скачиваете | доступны в репозитории проекта, с историей версий и датами |
Релизы приложения публикуются в репозитории проекта на GitHub — с версиями, датами и файлами под разные платформы.
Как проверить. Откройте аккаунт проекта и раздел релизов: там видно, когда вышла каждая версия и что в неё входит. Ссылки — в блоке ниже.
Где смотреть релизы
- github.com/Happ-proxy↗ аккаунт проекта на GitHub: релизы и обсуждения
- Happ-proxy/happ-desktop↗ релизы для Windows, macOS и Linux
- Happ-proxy/happ-android↗ релизы APK для Android и Android TV
Это ресурсы команды приложения, а не наши. Мы не храним сборки у себя и не даём прямых ссылок на файлы: качать нужно с той страницы, куда ведёт сам проект.
Полных исходников оболочки приложения мы в открытом доступе не видели: публикуются собранные файлы.
Как проверить. Это наблюдение, а не заявление команды. Проверить можно самому: открыть репозитории проекта и посмотреть, лежит ли там код интерфейса или только файлы релизов.
Что даёт открытость — и чего не даёт
Реалистично об открытом коде
- Открытое ядро изучают посторонние специалисты, и находки обсуждаются публично
- Публичные релизы дают историю: видно, что выходило и когда
- Ошибки можно описать в репозитории, и обсуждение остаётся видимым
- Публикация под одним аккаунтом упрощает проверку: где официальное, видно сразу
- «Открытый код» не значит, что скачанный вами файл собран именно из него
- Не значит, что кто-то этот код действительно прочитал целиком
- Не защищает от подделки: подделывают файл, а не репозиторий
- Не отвечает за сервер, к которому вы подключаетесь, — это другая история
Что из этого следует практически
Главное: доверие к приложению держится не на слове «open source», а на том, откуда взят файл. Скачали с ресурса проекта — вы получили ту сборку, которую он выпустил. Скачали с постороннего сайта — вы получили неизвестно что, даже если у проекта сто раз открытый код. Поэтому у нас есть отдельные страницы про подпись APK и контрольную сумму: это единственные способы проверить файл, а не разговоры о нём.
Что именно делает ядро внутри приложения и почему от его версии зависит поддержка протоколов — подробно на happapp.cc.
Так открытый у Happ код или нет?
Ядро относится к открытым проектам, релизы приложения публичны. Исходники самой оболочки в открытом доступе мы не встречали. Формулировка «полностью открытое приложение» будет неточной.
Можно ли собрать приложение самому?
Для этого нужны исходники оболочки. Если их нет в публичном доступе, собрать своими руками получится только ядро, а не готовую программу.
Открытый код означает, что приложение безопасно?
Нет. Он означает лишь, что часть кода можно прочитать. Разбор того, что приложение видит и чего не видит, — на странице «Насколько безопасно приложение».
Почему антивирус ругается на файл из релиза?
Так бывает у программ, работающих с сетевым трафиком. Разбор — «Вирус ли Happ».
Приложение бесплатное, а серверы к нему — нет: это отдельная услуга, и выбирать её приходится самому. Если не хочется собирать доступ из случайных ключей, у ТОК VPN есть 3 дня без карты — ровно чтобы посмотреть, как связка работает у вас. Это наше предложение, а не рекомендация разработчика Happ.
Посмотреть доступ на 3 дня →