[rosedu-general] Idea - Open Source Community & Development Course

Mircea Bardac dev at mircea.bardac.net
Wed Aug 20 17:59:52 EEST 2008


Salut,

Ante scriptum: ideea e foarte buna

Razvan Deaconescu wrote:
> In ultima perioada sunt destul de frustrat cu faptul ca putini studenti
> ai habar de utilitare si eticheta de baza pentru dezvoltarea unui
> proiect, cu atat mai putin a unui proiect open-source. Practic, in acest
> moment, pentru ca un proiect sa se desfasoare cum trebuie, ar trebui
> investita o perioada initiala in training-ul initial pe diverse
> utilitare, pe mecanismele de comunicare si colaborare, pe modul de
> partajare si folosire a codului & all.

Intr-adevar, se pierde mult timp cu etapa de training - chiar foarte
mult timp. In cadrul proiectului Tigus [1] la care sunt mentor a trebuit
sa explic acelasi lucru de mai multe ori pentru ca pur si simplu nu
exista exercitiu de partea studentilor in medii colaborative.

> Therefore, vin cu o propunere: de ce nu organizam un curs exact in acest
> scop - dezvoltarea abilitatilor de participare intr-un proiect open
> source.

Pe langa un astfel de curs, IMO, eu as obliga fiecare student sa faca
open source proiectul la una dintre materiile din facultate (de preferat
intr-un grup). In cazul in care nu se poate realiza un proiect separat,
studentii ar trebui sa aiba cateva contributii in cadrul unui proiect
deja existent* (in care sa utilizeze code versioning, forums/mail
lists/IRC, bug tracking, wiki).
* exemplu de task: Extinde tool-ul X cu feature-ul Y (vezi
task-ul/bug-ul cu numarul Z de la URL)

> De asemenea, daca un astfel de curs se va realiza, cel mai probabil se
> va intampla in 2009. Suntem destul de prinsi cu ROSEdu/stagii & all. De
> asemenea e greu sa pui ceva la cale in momentul in care un semestru nou
> incepe. Propunerea mea ar fi ca pregatirile si ideile pentru un astfel
> de curs sa inceapa in decembrie/ianuarie si sa incepem activitatea
> efectiva in martie.
> 
> Ce ar trebui sa contina, dupa capul meu, acest curs (sugestiile,
> criticile, observatiile, nemultumirile si completarile sunt binevenite):
> * principiile de functionare ale unei comunitati:
> ** colaborarea, comunicarea
> ** interesele comune
> ** ierarhia
> ** deciziile de proiectare, responsabilizare, implementare
> ** team first
> * mecanismele de colaborare si management
> ** wikis/trac (cum se scrie, ce se scrie)
> ** documentatie (see above)
> ** README-uri (cum se scrie un README)
> ** TODOs
> ** deadlines, roadmaps
> * mecanisme de comunicare
> ** intalniri
> ** liste de discutii
> *** netiquette
> *** relevanta, utilitate
> * team coding
> ** subversion - utilizare (ce, cand, cum)
> ** git - utilizare (ce, cand, cum)
> ** diff, patch
> * coding style
> ** per-project coding style
> ** cod curat, clar, bine comentat, interfete sanatoase

(Razvan, press Enter from time to time - it helps reading)

La "team coding" as mai adauga si "code reviews". Cand se intra intr-un
proiect nou, de multe ori code review-ul ajuta la stabilirea unui
workflow corect.

La "coding style" as mai adauga "tool-uri pentru
verificarea/enforcing-ul coding style-ului".

Sunt sigur ca cel putin mentorii de la RSoC au multe de comentat in
legatura cu fiecare subiect mentionat de tine, prin prisma experientei
pe care au avut-o/o au in aceasta perioada (I know I have lots of comments).

> * instalare si administrare utilitare de baza (pentru cei care doresc)
> ** svn
> ** git
> ** mailman
> ** apache
> ** trac
> ** wikis
> ** gestiunea utilizatorilor
> ** scripting pentru automatizarea sarcinilor de mai sus

Eu personal inclin catre solutiile "la cheie". Bineinteles, tot ce ai
enumerat tu poate fi oferit "la cheie". In aceste conditii, partea de
"administrare utilitare de baza" ar fi doar pentru cei intr-adevar
foarte foarte pasionati de administrare.

> Modul in care am enumerat eu componentele ar acorda unui astfel de curs
> o puternica nota teoretica. Dimpotriva, partea de teorie
> (prezentari/slide-uri) ar trebui sa fie doar o parte. Fundamentala este
> partea practica, in care studentii sa ajunga sa lucreze cu diversele
> utilitare, sa scrie cod, sa scrie documentatie, sa trimite mesaje pe
> lista etc. Bineinteles, asta inseamna efort destul de mare pentru a gasi
> sarcinile/exercitiile relevante. Dar, din punctul meu de vedere, efortul
> merita. Atat pentru noi (think of RSoC2 and other things), cat si pentru
> ei, si, de asemenea, pentru comunitatile si proiectele open-source in
> care acestia se vor putea implica.
> 
> What say you?

Foarte tare ideea. I'm in.

Ca si documentatie, pot pune la dispozitie tot ce am scris pentru Tigus
legat de colaborarea folosind Git (nu prea am gasit documentatie legat
de workflow-ul colaborativ folosind Git, ci mai mult legat de utilizarea
Git ca si developer individual) (da, stiu, sunt a 3-a persoana care se
ofera pentru Git).

Sustin de asemenea si ideea utilizarii:
* unei liste de discutii separate
* unui Wiki in care sa organizam ideile, cu link-uri catre resurse and
so on.

We would have this running in no-time. Am putea chiar avea un preview
anul acesta, sub forma unei prezentari (eventual 2 prezentari). Vedem ce
putem pune la dispozitie doritorilor in 1-2 prezentari. Aceste
prezentari ar fi utile cel putin inainte de RSoC2 (cu toti participantii
la RSoC, un fel de must-have RSoC training).

[1] http://tigus.org

-- 
Mircea
http://mircea.bardac.net


More information about the rosedu-general mailing list