Avoin ohjelmistokehitys
Seminaari, syksy 2008 (3 op)
Jukka Paakki
Aika ja paikka
2.9.-7.10., 28.10.-2.12.2008, tiistaisin klo 14-16,
CK111 (Exactum, 1st floor).
Yleistä
Avoin ohjelmistokehitys (open-source software development) perustuu
ohjelmiston lähdekoodin jakamiseen ja vapaaseen muokkaamiseen.
Avoin ohjelmistokehitys on joustavuuutensa ja edullisuutensa ansiosta
noussut vakavasti otettavaksi vaihtoehdoksi perinteiselle ns. suljetulle
ohjelmistokehitykselle, jossa ohjelmiston kehittänyt organisaatio
jakaa tuotettaan ainoastaan binäärimuodossa tiukan lisensoinnin
takana eikä näin ollen mahdollista sen ulkopuolista edelleen
kehittämistä. Viime vuosina ovat monet avoimesti kehitetyt ohjelmistot
vallanneet jalansijaa vastaavilta suljetuilta ohjelmistoilta,
tunnetuimpana esimerkkinä Linux-käyttöjärjestelmä lukuisine
muunnelmineen.
Seminaarissa tarkastellaan avointa ohjelmistokehitystä lähinnä
ohjelmistotekniikan (software engineering) näkökulmasta.
Seminaarin aihealueita ovat esimerkiksi avoimen ohjelmistokehityksen
prosessit, avointen ohjelmistojen laatu, avoimen ohjelmistokehityksen
projektityö, avoimen ohjelmistokehityksen yhteisöt,
avointen ohjelmistojen lisenssimallit ja avoimen ohjelmistokehityksen
työkalut. Seminaarin päämääränä on selvittää, millaisia etuja
avoimella ohjelmistokehityksellä on suljettuun ohjelmistokehitykseen
verratttuna, millaisissa tilanteissa avoin ohjelmistokehitys on
luontevinta ja mikä on avoimen ohjelmistokehityksen tulevaisuus.
Työskentely
Seminaarissa jokainen opiskelija pitää kirjalliseen tiivistelmään
perustuvan suullisen esitelmän johonkin
avoimeen ohjelmistokehitykseen liittyvästä aiheesta.
Esitelmöinnnin lisäksi jokaisen on muutoinkin osallistuttava
aktiivisesti seminaarityöhön.
Jokaisella esitelmällä on nimetty opponentti,
joka tutustuu erityisen huolellisesti esitelmään ja sen aiheeseen.
Opponentin tehtävänä on seminaaritilaisuudessa tuoda esiin
esitelmään liittyviä täydentäviä ja kriittisiäkin näkökulmia.
Opponenttina toimii yleensä edellisen seminaarikerran esitelmöijä
(ensimmäisen esitelmän opponenttina toimii viimeinen esitelmöijä).
Kirjallisen alustuksen (7-10 sivua) on oltava valmiina viikkoa ennen
esitelmää. Alustus julkaistaan tällä seminaarisivulla,
ja jokaisen osallistujan - ei pelkästään opponentin - on tutustuttava
siihen etukäteen pystyäkseen osallistumaan seminaaritilaisuudessa
käytävään keskusteluun.
Arvostelu
Seminaarin arvosana muodostuu seuraavista tekijöistä:
(1) kirjallinen alustus 30%,
(2) suullinen esitelmä 40%,
(3) opponointi 10%,
(4) muu aktiivinen osallistuminen keskusteluun 20%.
Suullisista esitelmätilaisuuksista saa olla poissa enintään
kaksi kertaa ilman hyvin perusteltua syytä.
Esitiedot
Ohjelmistotuotanto, Ohjelmistotuotantoprojekti ja joitakin ohjelmistotekniikan
laudaturkursseja.
Aikataulu
Mahdollisia aiheita
Alla luetellaan mahdollisia esitelmäaiheita ja annetaan vähintään yksi
kuhunkin aiheeseen liittyvä lähde.
Esitelmille on etsittävä muitakin lähteitä!
Esitelmille on annettava aihetta hyvin kuvaava otsikko.
Myös opiskelijoiden omat aiheet (eimerkiksi käytännön kokemukset)
ovat mahdollisia ja jopa toivottavia.
-
Klassikko: Avoin vs. perinteinen ohjelmistokehitys
E.S. Raymond: The Cathedral and the Bazaar: Musings on Linux
and Open Source by an Accidental Revolutionary.
O'Reilly and Associates, 1999.
(
Verkkoversio)
-
Avoimen ohjelmistokehityksen prosessi
Software Process - Improvement and Practice 11, 2, 2006.
(Teemanumero, useita artikkeleita)
W. Scacchi: Free / Open Source Software Development:
Recent Research Results and Emerging Opportunities.
In: Proc. 6th Joint Meeting of the European Software
Engineering Conference and the ACM SIGSOFT Symposium on
the Foundations of Software Engineering,
Dubrovnik, Croatia, 2007. ACM, 2007, 459-468.
-
Vaatimusten ja konfiguraation hallinta avoimessa
ohjelmistokehityksessä
W. Scacchi: Understanding the Requirements for Developing
Open Source Software Systems.
IEE Proceedings - Software 149, 1, 2002, 24-39.
U. Asklund, L. Bendix: A Study of Configuration Management in
Open Source Software Projects. IEE Proceedings - Software
149, 1, 2002, 40-46.
-
Avointen ohjelmistojen evoluutio
M.W. Godfrey, Q. Tu: Evolution in Open Source Software:
A Case Study. In: Proc. International Conference on Software
Maintenance, San Jose, California, 2000.
IEEE Computer Society, 2000, 131-142.
Y. Wang, D. Guo, H. Shi: Measuring the Evolution of Open
Source Software Systems with Their Communities.
ACM SIGSOFT Software Engineering Notes 32, 6, 2007,
article no. 7.
-
Avointen ohjelmistojen laatu
J.W. Paulson, G. Succi, A. Eberlein:
An Empirical Study of Open-Source and Closed-Source
Software Products. IEEE Transactions on Software Engineering
30, 4, 2004, 246-256.
U. Raja, E. Barry: Investigating Quality in Large-Scale
Open Source Software. ACM SIGSOFT Software Engineering Notes
30, 4, 2005.
M. Aberdour: Achieving Quality in Open Source Software.
IEEE Software 24, 1, 2007, 58-64.
-
Avoimen ohjelmistokehityksen mittarit
K. Crowston, J. Howison, H. Annabi:
Information Systems Success in Free and Open Source
Software Development: Theory and Measures.
Software Process - Improvement and Practice
11, 2, 2006, 123-148.
-
Avointen projektien ryhmät ja yhteisöt
B.J. Dempsey, D. Weiss, P. Jones, J. Greenberg:
Who Is an Open Source Software Developer?
Communications of the ACM 45, 2, 2002, 67-72.
Y. Ye, K. Kishida: Toward an Understanding of the Motivation
of Open Source Software Developers.
In: Proc. 25th International Conference on Software Engineering,
Portland, Oregon, 2005. IEEE Computer Society, 2005, 419-429.
K. Crowston, J. Howison: Assessing the Health of Open Source
Communities. (IEEE) Computer 39, 5, 2006, 89-91.
K. Crowston, K. Wei, Q. Li, J. Howison:
Core and Periphery in Free / Libre and Open Source Team
Communications. In: Proc. 39th Annual Hawaii International
Conference on System Sciences (HICSS'06). IEEE Computer
Society, 2006, 118-124. (IEEE Xplore: 118a)
-
Avoimet ohjelmistotyökalut
B. Fitzgerald, T. Kenny: Developing an Information Systems
Infrastructure with Open Source Software.
IEEE Software 21, 1, 2004, 50-55.
G.C. Murphy, M. Kersten, L. Findlater: How Are Java Software
Developers Using the Eclipse IDE?
IEEE Software 23, 4, 2006, 76-83.
K. Martin, B. Hoffman: An Open Source Approach to Developing Software
in a Small Organization.
IEEE Software 24, 1, 2007, 46-53.
Z. Yang, M. Jiang: Using Eclipse as a Tool-Integration
Platform for Software Development.
IEEE Software 24, 2, 2007, 87-89.
D. Manson, A. Carlin, S. Ramos, A. Gyger, M. Kaufman,
J. Treichelt: Is the Open Way a Better Way?
Digital Forensics Using Open Source Tools.
In: Proc. 40th Annual Hawaii International Conference on
System Sciences (HICSS'07). IEEE Computer Society,
2007, article 266b.
-
Avoimet lisenssit ja patentit
M. Ruffin, C. Ebert: Using Open Source Software in Product
Development: A Primer. IEEE Software 21, 1, 2004, 82-86.
L. McLaughlin: Inside the Software Patents Debate:
Some Good News for Open Source Developers.
IEEE Software 22, 3, 2005, 102-104.
GNU
-
Avoin ohjelmistokehitys ja liiketoiminta
G. Coth: Open Source Business Models: Ready for Prime Time.
IEEE Software 22, 6, 2005, 98-100.
D. Riehle: The Economic Motivation of Open Source Software:
Stakeholder Perspectives. (IEEE) Computer 40, 4, 2007, 25-32.
K. Ven, J. Verelst, H. Mannaert: Should You Adopt Open
Source Software? IEEE Software 25, 3, 2008, 54-59.
-
Tapaustutkimus: Apache ja Mozilla
A. Mockus, R.T. Fielding, J.D. Herbsleb: Two Case Studies
of Open Source Software Development: Apache and Mozilla.
ACM Transactions on Software Engineering and Methodology
11, 3, 2002, 309-346.