На які попереджувальні прапори слід звернути увагу при виборі ПЗ з відкритим кодом? [зачинено]


13

Якщо порівнювати проекти з відкритим кодом з комерційним програмним забезпеченням або навіть іншими проектами з відкритим кодом, які ситуації піднімають червоний прапор і змушують вас натиснути кнопку викидання та шукати в іншому місці?

Відповіді:


17

Відкрите джерело

Подивіться веб-сайт проекту

  • Подивіться на документацію
  • Подивіться архіви списку розсилки
  • Подивіться на SCM (svn, git, hg тощо)

Роблячи це, виберіть наступні моменти ...

  • Наскільки зрілим є програмне забезпечення
  • Який розмір бази користувачів (багато людей? 3 людини?)
  • Хто такі люди в базі користувачів (корпоративний, домашній користувач, малий бізнес тощо)
  • Чи активний розвиток? Як довго він був активним?
  • В архівах списків розсилки також просочується багато інформації про "командний дух" серед розробників, серед іншого. Це виглядає здорово, вороже, нудно тощо?
  • Чи гідна документація?
  • Чи був прийнятий пакет / проект у таких дистрибутивах, як Fedora, Debian, RHEL, SLES, Ubuntu тощо? Якщо так - це добре, що принаймні більше однієї людини там вірять у проект.
  • Чи є на сайті належна система квитків? Якщо так - скільки квитків відкрито за 5 років тому? Це ще одна вказівка ​​на те, наскільки "живим" є проект.

Також переконайтеся, що ви взяли до відома Ліцензію, згідно з якою розповсюджується програмне забезпечення. Деякі можуть не відповідати вашим потребам.

Корпоративне програмне забезпечення

У мене тут не так багато сказати, крім ...

  • Переконайтесь (не запитуйте продавця - він просто бреше), що програма не працює якroot . Особливо, якщо він буде прослуховуватися через порт TCP / IP. * Дивлячись на репутацію продавця
  • Переконайтеся, що постачальники знають, що люди, які адмініструють цей продукт (тобто не матимуть rootдоступу, і тому продукт повинен підтримувати sudo . Кожен, хто стверджує, що sudoце не підтримується, як правило, просто старе, але вони є постачальниками, і вони будьте тими, хто повинен тебе підтримувати - ти не хочеш купувати продукт, а згодом вони скажуть тобі "Ні, ти не можеш використовувати судо, ти повинен вкоренитися".
  • Ніколи не купуючи жодного програмного забезпечення із закритим кодом - ніколи

Як Ви визначаєте зрілість програми? Це не так, як номери версій нічого не означають, і багато проектів протягом багатьох років користуються непарними номерами версій. (Я дивлюся на вас NetworkManager). Який би був червоний прапор незрілості?
jldugger

Правильно, хоча номери версій можуть мати певне значення для розробників, це внутрішня річ - зовнішній світ - це лише вказівка ​​в кращому випадку - те, що, начебто, програмне забезпечення підприємства намагається використати з смішними стрибками кількості версій . Щоб отримати уявлення про зрілість, ви можете подивитися в декількох місцях, зокрема, система квитків - багато галочок - це добре - особливо якщо ви бачите, що розробники доклали реальних зусиль для їх виправлення та закриття. З іншого боку, якщо у вас немає квитків, або, що найгірше, немає системи квитків, ну це не вдалий старт.
Xerxes

7
  • Відсутність активності. Якщо проект не випустив новий код, показуйте безліч закритих помилок (або помилок, які дуже старі, без нових помилок), або на форумах користувачів, які мають дуже високе співвідношення "спам-пост", це впевнений запах розкладається кодова база. Активні проекти мають регулярні випуски, помилки, що вказують на відкриття нових, не випереджають закриті старі, а форуми користувачів із щоденною активністю. Усі три з них є життєво важливими для збереження коду живим і здоровим - випуск, відплата, відлагодження / рефакторинг, утворюючи повний цикл.

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

  • Вихідний код повинен бути легкодоступним. Показуйте порожнім, якщо це справжній відкритий код, не повинно бути ніяких магічних рукостискань, пропозицій вуду чи запалень на свічках, щоб побачити вихідний код. Не має значення, чи доступний він через CVS, SVN, Git, Mercurial або навіть голуба-носія, за умови, що ви можете дістатися до нього без ліцензійної угоди про клік. Якщо ви підписуєте відмову, NDA або погоджуєтесь із якоюсь схемою недозволеного використання ліцензій, ви не маєте справу з відкритим кодом, ви маєте справу з комерційним постачальником, який погодився відкрити їх джерело - за ціну .


++ для вимог діяльності.
ш-бета

6

Дійсно, справді.

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

Ніхто не використовує його - або принаймні, Google не може знайти нікого, хто про це говорить. Це або абсолютно нова (в такому випадку ви морська свинка), або настільки погана, що всі знають краще

Це корінь декількох виделок - Якщо щось було роздвоєне багато разів, можливо, це є вагомою причиною для цього, і одна з вилок, ймовірно, вирішила проблему краще, ніж джерело. Дослідіть їх замість цього.

Постійно поганий дизайн інтерфейсу - я не маю на увазі лише графічний інтерфейс. Божевільні, невідомі або неправильно позначені прапори або параметри CLI приводять мене до розуму

Це не працює - або робить вигляд, що ситуація, яку потрібно вирішити, не повинна існувати (або не існує), а тому не вирішує її


1

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


1

Якщо ви переглядаєте програмне забезпечення для своєї компанії, продавати його, змінювати його тощо, найважливішим аспектом є ліцензія. Дивлячись на включення зайнятої скриньки до маршрутизаторів WLAN та дотримуючись юридичних дій, компанії думають, що "відкритий код = робіть все, що завгодно".

Ще деякі речі: я також шукаю дату останнього оновлення та активну спільноту, тому форум, можливо, інші сторінки, на яких програмне забезпечення є темою.


1

У Linux я би перевірив, яке програмне забезпечення упаковане вашим дистрибутивом. Пакетне програмне забезпечення не обмежується лише просто відкритим джерелом / GPL - Ubuntu, Gentoo та SLES як мінімум включають програмне забезпечення власного власного програмного забезпечення в свої списки пакунків. Хоча немає гарантії, що ці пакети працюватимуть так само ефективно, як і основне програмне забезпечення в дистрибутиві - хтось вклав час і сили, щоб підготувати пакет.


1

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

Що стосується зрілості, то це значною мірою залежить від призначеного використання. Якщо мені потрібно миттєво розгортатись, і це не може бути дозволено збитися або викликати неприємності, зрілість, очевидно, буде досить важливим фактором. Якщо я можу прожити кілька примх, і це не критично з деяким простоєм, то я краще погляну на майбутній прогноз.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.