• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Free software engineering
 

Free software engineering

on

  • 2,885 views

 

Statistics

Views

Total Views
2,885
Views on SlideShare
2,884
Embed Views
1

Actions

Likes
1
Downloads
45
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Free software engineering Free software engineering Presentation Transcript

    • Introduction Free Software Engineering Free Software Engineering Master on Free Software Juanjo Amor, Gregorio Robles {jjamor,grex}@gsyc.escet.urjc.es GSyC/Libresoft 2-3 November 2007 Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering (cc) 2007 Juanjo Amor, Gregorio Robles Some rights reserved. This work licensed under Creative Commons Attribution-ShareAlike License. To view a copy of full license, see http://creativecommons.org/licenses/by-sa/2.0/ or write to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Summary Introduction Free Software Engineering Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Bazaar? Free Software = Bazaar? Is there one development model for free software? Are all projects really with many contributions of *many* developers? Bazaar definition may be not accurate. Free Software is not bazaar. Free software is software released with the four freedoms. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering “No silver bullet”, by Brooks Brooks wrote about some practices that help the development process: Buy versus build. Do not develop these modules you can buy and integrate in your own applications. Refine requirements, do fast prototyping. Doing fast prototyping helps a better knowledge of real requirements. Great designers. Good designers help in early detection of design problems. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering In free software ... In free software, these Brook practices are applied since years. By integrating component from other free projects (thank to their license). With the principle “Release early, release often”. Several studies reveal that most big free software projects are leaded by a small group of developers. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Quantitative studies Free software offer us: Access to code, all revisions. Access to other data related: dates, authors. . . The development model usually makes use of distributed tools: To store the revisions (CVS, SVN), To communicate users and developers (mailing lists, chats. . . ). To manage maintenance (bug tracking systems), To manage the project (through “forges”). Since the projects are “open”, all previous data is usually free available to anyone. We can study those data from the view point of the empirical software engineering. Since we can study a lot of free software projects, let’s do it! Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Developers in free software Study done in 1998 (published on 2000), by R. Ghosh et al, “The Orbiten Free Software Survey” Analyzed more than 3,000 projects, 25,000 lines of code, more than 12,000 developers. Finding: the participation is modeled following Pareto’s Law, that is, 80 % of code belongs to the 20 % most active developers and 80 % of developers only participate in about 20 % of code. Later studies confirmed these findings and expanded them to other participation, such as e-mail messages on mailing lists, or bug managing. The tools used for this study was released as free software. This facilitates later similar studies. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering First economic studies Study done in 2000, by S. Koch et al, “Results from Software Engineering Research into Open Source Development Projects Using Public Data”. Koch analyzed information from GNOME mailing lists and CVS. Koch tried to reproduce the results with classic cost models (COCOMO, function points) and showed that they are not quite different. However, Koch concludes that Free Software needs its own research methods and models. This study is considered as the first complete quantitative study on free software projects. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Studies which describe the complete process Study done in 2000, by Mockus et al, “A Case Study of Open Source Software Development: The Apache Server” They used history change in code and bug reports, for quantifying several issues: Developer participation “core” size Code authorship Productivity Defect density Error correction intervals This is a “classical” quantitative study, but using public data available on the net. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Counting code, at all... Studies: D. Wheeler, “Estimating Linux Size” and later “More than a gigabuck. . . ”. Studies which analyze the size of popular distributions (Redhat 6.2 and 7.1). It is like a X-Ray of the two popular distributions, by using a tool which counts and analyzes physical lines of code (Sloccount). The most important result was the big size of the distribution, and the estimated costs by using COCOMO model. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Counting code, at all... (2) These studies motivated other: G. Barahona et al, “Counting potatoes” (and later revisions). These studies focused in Debian distributions, studying the evolution from 2.0 to recent 4.0 release. Some interesting results: The size and estimated costs of Debian. The evolution of use of languages. The evolution of size (each revision duplicates the size). The maintenance of packages. Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering Integrating tools Other recent studies try to integrate several tools into one, to automate the process as possible, to avoid the effort of adapting the tool to a new study (by trying the making of generic tools). some Libresoft projects work on this. . . Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering The future Free Software Engineering is in their first stages. In the near future, we need studies for: Free Software Projects classification Methodology based in automated analysis Tools for automated analysis Models for understanding the Free Software processes Validation of classic models in Free Software projects Juanjo Amor, Gregorio Robles Free Software Engineering
    • Introduction Free Software Engineering References F. Brooks, “No Silver Bullets” (1987) http://virtualschool. edu/mon/SoftwareEngineering/BrooksNoSilverBullet.html R. Ghosh, “The Orbiten Free Software Survey” (2000) http://www.firstmonday.org/issues/issue5_7/ghosh/ S. Koch et al, “Results from Software Engineering Research into Open Source Software projects using Public Data” (2000) http: //wwwai.wu-wien.ac.at/~koch/forschung/sw-eng/wp22.pdf A. Mockus et al, “A case study of open source software development: the Apache server” (2000) http://opensource.mit.edu/papers/mockusapache.pdf D. Wheeler, “Counting Source Lines of Code” (2000) http://www.dwheeler.com/sloc/ J. G. Barahona et al, “Counting Potatoes” (2001) http://people.debian.org/~jgb/debian-counting/ Juanjo Amor, Gregorio Robles Free Software Engineering