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

13

При сравнении проектов с открытым исходным кодом с коммерческим программным обеспечением или даже с другими проектами с открытым исходным кодом, какие ситуации поднимают красный флаг и заставляют вас нажать кнопку извлечения и посмотреть в другом месте?

jldugger
источник

Ответы:

17

Открытый источник

Посмотрите на сайте проекта

  • Посмотри документацию
  • Посмотрите архивы списка рассылки
  • Посмотрите на SCM (svn, git, hg и т. Д.)

При этом обратите внимание на следующие моменты ...

  • Насколько зрелым является программное обеспечение?
  • Каков размер базы пользователей (много людей? 3 человека?)
  • Кто люди в пользовательской базе (корпоративный, домашний пользователь, малый бизнес и т. Д.)
  • Активно ли развитие? Как долго это было активно?
  • Архивы списков рассылки также пропускают много информации о «командном духе» среди разработчиков, среди прочего. Это выглядит здоровым, враждебным, скучающим и т. Д.?
  • Документация приличная?
  • Был ли пакет / проект принят в какие-либо дистрибутивы, такие как Fedora, Debian, RHEL, SLES, Ubuntu и т. Д.? Если это так - это хорошо - по крайней мере, еще один человек верит в этот проект.
  • Есть ли на сайте правильная система продажи билетов? Если так - сколько билетов открыто 5 лет назад? Это еще один показатель того, насколько «живым» является проект.

Кроме того, убедитесь, что вы приняли к сведению Лицензию, по которой распространяется программное обеспечение. Некоторые могут не подходить для ваших нужд.

Корпоративное ПО

У меня не так много, чтобы сказать здесь, кроме ...

  • Убедитесь (не спрашивайте продавца - он просто врет), что приложение не запускается какroot . Особенно, если он будет прослушивать порт TCP / IP. * Глядя на репутацию продавца
  • Убедитесь, что поставщики знают, что людям, администрирующим этот продукт (то есть, не будет предоставлен rootдоступ, и поэтому продукт должен поддерживать sudo . Любой, кто утверждает, что sudoэто не поддерживается, обычно просто старческий, но они являются поставщиками, и они будут быть теми, кто должен поддержать вас - вы не хотите покупать продукт, а потом попросите его сказать: «Нет, вы не можете использовать sudo, вы должны su получить права root».
  • Никогда не покупайте программное обеспечение для обеспечения безопасности с закрытым исходным кодом
  • (субъективно): ... и никогда не доверяйте тому, что говорит торговый представитель - они все лжецы и змеи, без исключений.
Ксеркс
источник
Как вы определяете зрелость программы? Это не значит, что номера версий что-то значат, и многие проекты годами используются с нечетными номерами версий в течение многих лет. (Я смотрю на тебя NetworkManager). Что будет красным флагом незрелости?
Jldugger
Правильно, хотя номера версий могут иметь какое-то конкретное значение для разработчиков, это внутренняя вещь - во внешнем мире это всего лишь показатель в лучшем случае - тот, который корпоративное программное обеспечение, похоже, пытается использовать с нелепыми скачками номера версии. , Чтобы получить представление о зрелости, вы можете посмотреть в нескольких местах, в частности, в системе тикетов - много тиков - это хорошо, особенно если вы видите, что разработчики приложили реальные усилия для их исправления и закрытия. С другой стороны, если у вас нет билетов или, что еще хуже, нет системы продажи билетов, ну, это не очень хорошее начало.
Ксеркс
7
  • Недостаток активности. Если проект не выпустил новый код, покажите множество незакрытых ошибок (или ошибок, которые очень старые, без новых ошибок), или есть форумы пользователей, которые имеют очень высокое отношение спама к посту, это верный запах распадающаяся кодовая база. Активные проекты имеют регулярные выпуски, отток ошибок, указывающий на то, что открытые новые не опережают закрытые старые, и пользовательские форумы с ежедневной активностью. Все три из них имеют жизненно важное значение для поддержания работоспособности и исправности кода - выпуск, обратная связь и отладка / рефакторинг, образуя полный цикл.

  • Активность пропорциональна размеру, сложности и зрелости кодовой базы. Чем больше программа / проект, тем реже выпускаются точечные выпуски, но должен быть постоянный поток точечных выпусков. Для такого проекта, как Samba, с большой сложной кодовой базой, ожидайте точечные релизы через месяц или около того. Для проекта, подобного gcc, который является зрелой базой кода с более консервативными целями проектирования, точечные выпуски длиннее, но крупнее. Быстро движущиеся цели в очень небольших объемах кода также показывают потенциальные проблемы - возможно, разработчики все еще борются с ошибками или еще не закодировали все цели / функции.

  • Исходный код должен быть легко доступен. Если говорить прямо , если это действительно открытый исходный код, не должно быть никаких волшебных рукопожатий, предложений вуду или заклинаний при свечах, чтобы увидеть исходный код. Не имеет значения, доступен ли он через CVS, SVN, Git, Mercurial или даже почтового голубя, при условии, что вы можете получить его без лицензионного соглашения. Если вы подписываете отказ, соглашение о неразглашении или соглашаетесь с какой-либо необдуманной лицензионной схемой, вы не имеете дело с открытым исходным кодом, вы имеете дело с коммерческим поставщиком, который согласился открыть вам свой источник - по цене ,

Эйвери Пэйн
источник
++ для требований деятельности.
sh-beta
6

Их действительно много.

Обманчивое лицензирование. Слишком много решений пытаются загнать меня в тупик. Пакет стоит X, но если вы хотите рекламировать варианты 1, 2 и 3, это будет на 500-1500 долларов больше за опцию. Нет, спасибо.

Никто не использует его - или, по крайней мере, Google не может найти никого, кто бы говорил об этом. Это либо новенький (в этом случае ты подопытный кролик), либо настолько плохой, что все знают лучше

Это корень нескольких вилок - если что-то было разветвлено много раз, вероятно, есть веская причина для этого, и один из вилок, вероятно, решил проблему лучше, чем источник. Расследуйте их.

Постоянно плохой дизайн интерфейса - я имею в виду не только GUI. Сумасшедшие, неопознанные или неправильно маркированные флаги или опции CLI сводят меня с ума

Это не работает - или делает вид, что ситуация, которую необходимо решить, не должна (или не существует), и поэтому не решает ее

Мэтт Симмонс
источник
1

Я также добавил бы, что скорость оттока кода является последовательной и выполняется многими, а не только несколькими. Вы не хотите, чтобы один человек работал с кодом неполный рабочий день, когда он взволнован своим проектом, а потом ему это надоедает и он оставляет сообществу возможность продолжать поддерживать. Drupal и Joomla - два хороших примера.

SQLGuyChuck
источник
1

Если вы ищете программное обеспечение для вашей компании, чтобы продать его, изменить его и т. Д., Наиболее важным аспектом является лицензия. Глядя на включение busybox на маршрутизаторах WLAN и следуя законным действиям, компании думают: «с открытым исходным кодом = делай, что хочешь»

Некоторые другие вещи: я также ищу дату последнего обновления и активное сообщество, так что форум, может быть, другие страницы, которые имеют программное обеспечение в качестве темы.

попойка
источник
1

В Linux я бы проверил, какое программное обеспечение упаковано вашим дистрибутивом. Упакованное программное обеспечение не ограничивается только открытым исходным кодом / GPL - Ubuntu, Gentoo и SLES как минимум включают проприетарное программное обеспечение в свои списки пакетов. Хотя нет никаких гарантий, что эти пакеты будут работать так же эффективно, как основное программное обеспечение в дистрибутиве, - кто-то вложил время и усилия в подготовку пакета.

jay_dubya
источник
1

Я бы посмотрел в основном на зрелость и активность. Если он кажется достаточно зрелым, и активность кажется приличной (например, форум или вики), я чувствую себя довольно комфортно. Тогда я знаю, что есть большая вероятность того, что ошибки будут решены, и что я могу получить помощь по возникающим проблемам. Я бы выбрал активный проект, который не соответствует моим потребностям, а не проект, который кажется идеальным, но кажется мертвым в любой день недели.

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

Микаэль Грёнфельт
источник