Lista kontrolna dotycząca uruchamiania projektu typu open source [zamknięte]

50

Rozpoczęcie projektu typu open source to nie tylko wyrzucenie kodu źródłowego w jakimś publicznym repozytorium, a następnie zadowolenie z tego. Powinieneś mieć dokumentację techniczną (oprócz użytkownika), informacje na temat wkładu itp.

Jeśli tworzysz listę kontrolną ważnych rzeczy do zrobienia, co byś na niej umieścił?

Anto
źródło
1
+1 dobre pytanie. Czy mogę polecić: gawande.com/the-checklist-manifesto
JeffO
2
Polecam książkę Karla Fogela (jednego z oryginalnych autorów subversion) Produkcja oprogramowania Open Source - jak przeprowadzić udany projekt wolnego oprogramowania To książka O'Reilly.
Michael
Produkcja oprogramowania Open Source autorstwa Karla Fogela powinna ci w tym pomóc. Książka jest dostępna całkowicie online.
Coyote21,

Odpowiedzi:

34

Najważniejszą rzeczą jest:

  • skorzystaj z projektu sam i ustaw go w przydatnym stanie, w którym będziesz z niego korzystać. upewnij się, że projekt działa i jest użyteczny.

Do moich pierwszych priorytetów zaliczam:

  • masz proste „co to jest?” strona internetowa z linkami do niektórych forów dyskusyjnych (e-mail lub czat) oraz do repozytorium kodu źródłowego
  • upewnij się, że kod się kompiluje i zwykle działa, nie wprowadzaj łatek w toku lub pół-tyłków w głównej gałęzi, które psują rzeczy, ponieważ wtedy praca innych osób byłaby zakłócona
  • umieść plik licencji w repozytorium kodów ze znaną licencją i zaznacz właściciela praw autorskich (prawdopodobnie Ciebie lub Twoją firmę). nie pomijaj licencji, nie twórz licencji ani nie używaj niejasnej licencji.
  • mieć instrukcje, jak wesprzeć, powiedzmy w pliku HACKING lub dołącz do README. Powinno to obejmować miejsce wysyłania poprawek, sposób formatowania poprawek, reguły wcięcia kodu oraz wszelkie inne ważne konwencje projektu
  • instrukcje dotyczące zgłaszania błędu
  • być pomocnym na liście mailingowej lub na innych forach

Po tych priorytetach powiedziałbym:

  • dokumentacja (oszczędza to pracy na liście mailingowej ... ułożenie FAQ na liście postów to prosty początek)
  • staraj się robić rzeczy w „normalny” sposób (nie wymyślaj własnego systemu kompilacji lub używaj jakiegoś dziwnego, nie używaj wcięcia 1-spacji, nie bądź ogólnie denerwująco dziwaczny, ponieważ dodaje krzywej uczenia się)
  • promuj swój projekt. marketing marketing marketing. Potrzebujesz kilku blogów i stron z wiadomościami, aby Cię osłaniać, a kiedy ludzie się pojawią, musisz z nimi porozmawiać i upewnić się, że działają i patrzą na swoje łatki. Może wspomnieć o swoim projekcie na forach powiązanych projektów.
  • zawsze sprawdzaj i akceptuj łatki tak szybko, jak to tylko możliwe. Natychmiast jest idealny. Ponad kilka dni i tracisz wielu ludzi.
  • zawsze odpowiadaj na e-mail o projekcie tak szybko, jak to tylko możliwe.
  • stworzyć przyjazną / pozytywną / zabawną atmosferę. nie bądź palantem. powiedz proszę i dziękuję i rozdaj pochwałę. odeprzeć wszelkie jackassy, ​​które się pojawią i zaczną zatruwać społeczność. staraj się poznawać ludzi osobiście, kiedy możesz, i tworzyć więzi.
Havoc P
źródło
Co z potencjalnymi problemami prawnymi? Jak można się upewnić, że implementacja nie zawiera przypadkowo opatentowanego algorytmu?
Den
Niestety nie można tego ustalić. Biorąc pod uwagę fragment kodu, nie ma sposobu, aby dowiedzieć się, jakie wyszukiwane hasła będą potrzebne do zlokalizowania odpowiedniego patentu (-ów), co jest jednym z powodów, dla których patenty na oprogramowanie stanowią taki problem. Czasami wiesz, że istnieje patent, który ma zastosowanie, ale nigdy nie słyszałem o tym, aby mieć pewność, że nie ma patentu, który ma zastosowanie. Trudno udowodnić, że jest negatywny. Patenty są na tyle dużym tematem, że prawdopodobnie powinny to być ich własne pytania ...
Havoc P
17

Na początek opuść barierę wejścia , co oznacza:

  • ułatwiają instalację,
  • ułatwić modyfikację,
  • ułatwić znalezienie projektu,
  • po prostu zrób wszystko, co chcesz zrobić łatwo.

W jaki sposób?

  • Udziel odpowiedzi na każde pytanie, o którym możesz pomyśleć w dokumentacji,
  • Stwórz łatwy w użyciu system kompilacji,
  • Wyczyść swój kod, nikt nie lubi pracować nad kodem spaghetti,
  • Zrób coś, czego ludzie potrzebują.
dan_waterworth
źródło