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

Razvan Deaconescu razvan at anaconda.cs.pub.ro
Tue Aug 19 23:26:43 EEST 2008


Salut!

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.

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

Inainte de a trece in detalii vreau sa prezint viziunea mea asupra
denumirilor de open source/free software. Eu vad 4 componente:
* filozofia (free)
* comunitatea (open source)
* dezvoltarea (open source)
* sofware-ul (free)
Astfel, voi spune open source development si comunitate open-source dar
voi folosi notiunea de free software si free software philosophy. In
cazul dezvoltarii unui proiect conteaza rezultatele si profesionalismul
- partea pragmatica, therefore open source. Soft-ul obtinut si filozofia
din spate sunt free.

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
* 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

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?

Razvan



More information about the rosedu-general mailing list