Контрольний список для запуску проекту з відкритим кодом [закрито]


50

Запускати проект з відкритим кодом - це не просто кинути вихідний код на деякий загальнодоступний сховище, а потім бути задоволеним цим. Ви повинні мати технічну (крім користувачів) документацію, інформацію про те, як зробити внесок тощо.

Якщо ви створили контрольний список над важливими справами, що б ви включили до нього?


1
+1 Добре запитання. Можна рекомендувати: gawande.com/the-checklist-manifesto
JeffO

2
Я рекомендую книгу Карла Фогеля (одного з оригінальних авторів підривної роботи) " Виробництво програмного забезпечення з відкритим кодом" - як запустити успішний проект безкоштовного програмного забезпечення. Це книга O'Reilly.
Майкл

Випуск програмного забезпечення з відкритим кодом Карлом Фогелем повинен допомогти вам у цьому. Книга доступна повністю в Інтернеті.
Coyote21

Відповіді:


34

Найголовніше:

  • використовуйте проект самостійно і переведіть його в корисний стан, де вам подобається його використовувати. будьте впевнені, що проект працює і корисний.

Я б поставив перед першочерговими завданнями:

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

Після цих пріоритетів я б сказав:

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

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

На жаль, це неможливо визначити. З огляду на шматок коду, неможливо дізнатися, які пошукові терміни вам знадобиться знайти відповідний патент (и), що є однією з причин, що патенти на програмне забезпечення є такою проблемою. Іноді ви знаєте, що існує патент, але я ніколи не чув про спосіб бути впевненим, що не існує патенту, який застосовується. Важко довести негатив. Патенти - це досить велика тема, що вони, мабуть, мають бути власними питаннями ...
Havoc P

17

Для початку, Опустіть бар'єр для входу , це означає:

  • полегшити встановлення,
  • полегшити зміни,
  • полегшити пошук свого проекту,
  • просто зробіть все, що ви хочете зробити легко.

Як?

  • Дайте відповідь на кожне питання, яке ви можете придумати у своїй документації,
  • Створіть просту у використанні систему побудови,
  • Очистіть свій код, ніхто не любить працювати над кодом спагетті,
  • Зробіть щось, у чому люди потребують.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.