2009-11-11 9 views
5

Przede wszystkim przejrzałem this question, ale myślę, że potrzebuję trochę więcej informacji, ponieważ nigdy wcześniej nie pracowałem nad projektem dotyczącym opensource.Zaczynam projekt opensource. Jakakolwiek rada?

Rozpoczynam projekt opensource, aktualnie obsługiwany w kodzie Google. Jest to framework do tworzenia gier flash w języku ActionScript3 (zorientowanym na programistę). Do tej pory, tak dobrze, ale chcę zacząć budować wokół siebie społeczność. Projekt jest w 60% skończony z pierwszego oficjalnego wydania stabilnego (używam Scrum do prowadzenia procesu rozwoju, obecnie jesteśmy 3 osobami w zespole programistycznym). Nawiasem mówiąc, projekt ma licencję MIT.

Czy masz jakieś porady, jak kierować rozwojem, narzędzia, na które powinienem patrzeć?

Assembla vs Google kod vs Trac vs Tracker Pivotal?

Co sądzisz o tym?

+0

Świetne pytanie, zawsze byłem ciekawy, jakie dobre praktyki są dla realizacji projektów open source. – JasonWyatt

+3

Moje dwa centy - mój następny projekt będzie hostowany na Github zamiast Google Code. Bezproblemowe lokalne rozgałęzienia Git i brak katalogów '.svn' zmienił moje życie. –

+0

Możesz teraz używać Mercurial na Google Code. Nigdy wcześniej nie próbowałem git, ale kocham Mercurial. –

Odpowiedz

5

Jeśli chcesz zbudować społeczność, nie zawsze chodzi o narzędzia, więcej o procesach, za pomocą których możesz zbudować społeczność. Jest mnóstwo ludzi, którzy użyją dowolnego narzędzia, które im podasz, albo wybierze (lub odmówi) udział w projekcie opartym na narzędziach, ale jeśli społeczność będzie śmierdzieć, niewielu ludzi będzie się kręcić.

Zaleciłabym spędzić trochę czasu zastanawiając się, w jaki sposób zamierzasz objąć społeczność. Czy jesteś gotowy poświęcić czas na odpowiedź na zgłoszenia błędów? Jak będziesz obsługiwać prośby o ulepszenia? Czy chcesz wpuścić coś do kodu, jeśli chce tego kilka osób, ale nie? Są to wszystkie krytyczne kwestie, które ostatecznie będą znacznie ważniejsze niż Assmebla kontra Trac.

Możesz zajrzeć do książki Karla Fogela pt. "Produkowanie oprogramowania typu open source" lub "Sztuka wspólnoty" Jono Bacona, aby uzyskać więcej wskazówek na temat zarządzania i budowania społeczności.

+1

W duchu tego pytania: Gorąco polecam wiki, system śledzenia problemów i forum lub witrynę stackexchange dla twojego projektu. Im łatwiej jest zadawać pytania i angażować się, tym bardziej prawdopodobne jest, że twój projekt odniesie sukces i że dołączą do niego programiści. –

+0

Dzięki za to. Sprawdzę te książki. –

+0

To dobra odpowiedź, ale nie widzę odpowiedzi na to pytanie. –

2

Po pierwsze, duże oczywiste przyciski do pobrania, aby osoba mogła pobrać projekt, uczynić go po prostu prostym. Po drugie, fora, aby ludzie mogli przekazywać dobre i złe opinie na temat projektu.

Życzymy powodzenia w Twoim projekcie!

+1

Instalacja nie jest jedyną rzeczą, która powinna być łatwa ... ponieważ jest to platforma zorientowana na programistów, będziemy potrzebować kilku samouczków i świetnych poradników, aby rozpocząć. – JasonWyatt

+0

Poradniki i przewodniki. Znakomity. Dziękuję Ci. –

0

Nie przechowuj swojego kodu na codeplex. Niedawno rozpocząłem projekt open source jako podstawę dla article series on DotNetSlackers. Com, aby pokazać ludziom jak zbudować stronę taką jak SO. Błędnie hostowałem ten projekt na CodePlex. Moja zautomatyzowana kompilacja będzie okresowo wysyłać mi uszkodzone wiadomości e-mail dotyczące kompilacji, ponieważ CodePlex będzie losowo zrzucany na wiele godzin. IT DRIVES ME NUTS!

Jeśli planujesz opracować kod, który jest bezpłatny dla całego świata, ale nie planuj, aby każdy mógł przesłać kod do swojego projektu ... utrzymaj swoją własną kontrolę źródła (zrób to bezpłatnie dla kilku użytkowników) lub użyj czegoś takiego jak Google, aby hostować swój kod.

+0

Dziękuję za uwagę. –

+0

Perforce dla projektu FOSS? lmao. –

+0

Perforce ma wszystkie zalety TFS ... bez kosztów (choć ma pewne koszty). Koncepcja, że ​​kod może przesuwać się z jednej gałęzi do drugiej bez utraty informacji o danym pliku podczas migracji jest bardzo potężny! VSS, SVN, Vault itp. - po prostu nie można porównywać. Ponownie, to tylko wtedy, gdy nie można publicznie edytować! –

2

Kierowanie opracowaniem jest dla mnie bardziej kwestią priorytetyzacji tego, co należy zrobić, więc mam ochotę powiedzieć: dlaczego po prostu nie korzystasz z modułu do śledzenia problemów z kodem Google, ponieważ Twój projekt jest już tam hostowany? Myślę, że oferuje wszystko, czego potrzebujesz. Dostosuj go, aby dodać pole Szacuje, jeśli chcesz (dla Scruma) i gotowe.

Dlaczego uważasz, że potrzebujesz czegoś innego? Masz już repozytorium źródeł, udogodnienia do przeglądania kodu, wiki, listy mailingowe, narzędzie do śledzenia problemów, bezpieczny dostęp dla współpracowników. Nie potrzeba wiele więcej do wspólnej pracy. Czego ci brakuje? Wiadomości błyskawiczne? Użyj Skype lub Gtalk. IRC? Na razie nie potrzebujesz tego.Nie, naprawdę, nie sądzę, że jakieś narzędzie rozwiąże tutaj coś więcej (nawet jeśli nie możesz narysować swojej mapy pożaru, a nie wielka sprawa dla IMO w niepełnym wymiarze godzin).

Tak, ponieważ każde inne narzędzie będzie mniej dobrze zintegrowane z innymi usługami Google Code (np Chciałbym połączyć moje zobowiązuje się do problemów z wykorzystaniem „Issue ID” w komentarzach, które jest automatycznie linked), bym trzymać z tym, co masz obecnie (może po prostu dodać Gtalk/Skype, aby ułatwić komunikację/współpracę) i zacznę tworzyć problemy i ustalanie priorytetów na. Dobra hierarchizacja pracy jest kluczem do udanego projektu, nie ma w tym celu narzędzia z srebrnymi kulami. Następnie zaplanuj kluczowe daty (wydania) i przypisz najważniejsze kwestie do nadchodzącego etapu. Zamknij jak najwięcej problemów przed upływem terminu. Gdy nadejdzie czas zwolnienia, zwolnij wykonane czynności, odłóż niewywołany problem do następnego etapu i rozpocznij od nowa.

2
  • Dąż do przyjęcia. Im więcej uzyskujesz użytkowników, tym więcej osób wniesie swój wkład.

  • Dołącz wiele próbek kodu na wiki i pozwól użytkownikom pobrać przykładową aplikację.

  • Upewnij się, że Twój interfejs API jest dobrze udokumentowany pod numerem ASDoc.

  • Podaj mapę drogową, aby potencjalni użytkownicy mogli zobaczyć Twój kierunek i intencje.

  • Bądź ostrożny w ustalaniu priorytetów żądań funkcji i błędów. Ty i twój zespół nie macie czasu na wszystko.

  • Zapewnij integrację tak płynną, jak to tylko możliwe. Mamy nadzieję, że użytkownicy będą mogli po prostu pobrać .swc (biblioteka Flash) i połączyć je z aplikacją.

  • Zwolnij wcześnie, wypuść często. I Nienawidzę konieczności pobierania i używania wersji HEAD z repozytorium, ponieważ zespół oficjalnie wydał tylko jedną wersję swojego projektu i ma roczek.

+0

Świetne wskazówki! Dzięki! –

2

sugerowałbym sprawdzenie się tej książki: http://producingoss.com/

Wierzę, że jest to darmowa wersja online i pdf.

Połączyłem trochę Traca i na pewno można to wykonać, ale jeśli już pracujesz nad zwinnym procesem rozwojowym, sprawdziłbym Pivotal Tracker. Używam go w pobocznym projekcie i jest całkiem sprytny, nie wspominając o darmowym użyciu. Pivotal ma wszystko, czego można się spodziewać: historie, zaległości, obliczanie prędkości, kilka wykresów, itp.

+0

Pivotal tracker jest naprawdę świetny. –