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ł?


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.

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ą.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.