Как проекты с открытым исходным кодом обычно организуются и развертываются? [закрытый]

5
задан Daniel Brose 29 July 2015 в 08:10
поделиться

5 ответов

Давайте посмотрим на одну из функций с открытым исходным кодом. Если вы хотите узнать, как это развертывается, загрузите пару похожих проектов с открытым исходным кодом и извлеките у них урок. Итак, найдите тот, который похож на ваш, и изучите его источники.

Почему это должно помочь? Дело в том, что проекты с открытым исходным кодом должны иметь возможность легко строиться на машинах пользователей . В противном случае никто не сможет им помочь. Поэтому вся необходимая информация о том, как их следует развертывать, обычно включается в файлы INSTALL или README с исходными кодами, которые вы загрузили. Обычно они состоят из нескольких простых шагов. С той же целью автоматизируется проверка наличия и версий предварительных требований (в сценариях configure ), а иногда такие сценарии даже помогают в их установке.

Обычно ожидается что-то вроде

# Download sources (this line is read from your website)
wget http://myapp.org/myapp-source-2.15.tgz
tar -xzf myapp-source-2.15.tgz
cd myapp-2.15
less INSTALL
# read INSTALL file, where instructions about installing prerequisites are
./configure --help
# Read help, learn about possible options
./configure --prefix=/install/here --without-sound
make
make install

. В настоящее время некоторые приложения используют cmake вместо autotools (материал со сценарием configure ).

Я сомневаюсь, что проекты Linux действительно требуют NetBeans в качестве системы сборки - это было бы излишним. Но эта IDE, похоже, генерирует файлы сборки, так что отправьте их. Для удобства вы также можете зафиксировать файлы porject, специфичные для IDE, в репозитории, но это не должно быть основным способом создания вашего программного обеспечения.

Есть еще кое-что, что пользователи ожидают найти в вашем пакете:

  • Информация о лицензировании (обычно в ЛИЦЕНЗИИ файл и в начале каждого исходного файла)
  • Ссылка на домашнюю страницу проекта (где сообщать об ошибках)
  • Рекомендации по кодированию (в виде текста)
  • Информация для сопровождающих (как поднять версию, как добавить модуль и т. Д.)
2
ответ дан 14 December 2019 в 08:52
поделиться

Вы можете начать с http://llvm.org/docs/DeveloperPolicy.html и http://llvm.org/docs/CodingStandards.html. Проект LLVM - очень хорошо организованный проект с открытым исходным кодом.

.
2
ответ дан 14 December 2019 в 08:52
поделиться

Поскольку вы, кажется, пишете приложения для Linux, вам, возможно, захочется взглянуть на такие автоинструменты GNU, как autoconf . На самом деле есть хорошая книга о них, и они справятся с большинством проблем с зависимостями для вас.

2
ответ дан 14 December 2019 в 08:52
поделиться
[

] Я рекомендую это: []http://producingoss.com/[][

] [

]Эта книга объясняет большинство распространенных процедур, а также множество социальных вещей, например, как справляться со спонсорами [

].
1
ответ дан 14 December 2019 в 08:52
поделиться
[

] Что вам нужно, так это build-system++[

] [

]Если вы разрабатываете для POSIX (linux) платформ или работаете только с MingW под Win32, то я бы посоветовал вам научиться работать с autotools -- autoconf/automake/libtool и друзьями.[

] [

]Это дает вам, упаковку исходного кода, настройку, тестирование, установку. Они предназначены для разработчиков дистрибутивов (deb/rpm).[

] [

]У них довольно крутая кривая обучения, но они очень мощные инструменты для этих задач.[

] [

]Однако, если вы хотите поддержать компилятор MSVC, я бы посоветовал взглянуть на CMake, IMHO он менее мощный и требует гораздо больше написания, но он вам понадобится для Windows со всеми проблемами dllexport/импорта (или, говоря менее мягкими словами -- дерьмо).[

] [

]Это то, что вы ищите.[

].
0
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: