non-software oss projects

18
Not only software: cooperative development models Carlo Daffara Conecta srl

Upload: guest214454

Post on 30-Jun-2015

728 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Non-software OSS projects

Not only software: cooperative development

models

Carlo DaffaraConecta srl

Page 2: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● The social innovation of collaborative development (one of the possible development models, in the spectrum between "cathedral" and "bazaar" has been considered unable to produce software secure and of good quality, and in general uncapable of creating innovative artifacts

● ""The Linux operating system is being developed by an open source process -- a cooperative effort by a loose association of software developers from all over the world. 'The very nature of the open source process should rule Linux out of defense applications,' O'Dowd said. 'The open source process violates every principle of security. It welcomes everyone to contribute to Linux. Now that foreign intelligence agencies and terrorists know that Linux is going to control our most advanced defense systems, they can use fake identities to contribute subversive software that will soon be incorporated into our most advanced defense systems.'" (Green Hills Software CEO, Dan O'Dowd)

Page 3: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● "The hypothesis that open-source software fosters more creativity is supported by our analysis.

● The growing rate, or the number of functions added, was greater in the open-source projects than in the closed-source projects. This indicates that the open-source approach may be able to provide more features over time than by using the closed-source approach. Practitioners interested in capturing market share by providing additional features should look to the open-source methodology as a method to achieve this.

● In terms of defects, our analysis finds that the changing rate or the functions modified as a percentage of the total functions is higher in open-source projects than in closed-source projects.

● This supports the hypothesis that defects may be found and fixed more quickly in open-source projects than in closed-source projects and may be an added benefit for using the open-source development model." [Succi, Paulson, Eberlein. An Empirical Study of Open-Source and Closed-Source Software Products, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, V.30/4, april 2004]

Page 4: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● The cooperative development model for software in a sense is self-moderated, since code contributions cannot be arbitrary but should be compilable and not include regressions

● "working code" is in itself a gating barrier● Can the collaborative model be used in non-code projects?● The first observation is that most (medium and large scale)

software projects already contain a large part of non-code artifacts

● For example, localization data, documentation, graphical material like icons and splash screens, pre-designed structures...

● For example, in the OpenOffice.org project:

Page 5: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 6: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 7: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● Some non-code experiments have generated the same kind of criticism originally reserved for open source projects, that collaborative development cannot reach the same quality or control of non-OSS ones.

● Among the most famous examples, Wikipedia:● more than 2 million english articles● 356000 italian ones● more than 8 million articles in more than 100 languages

● "Using it is like asking questions of a bloke you met in the pub. He might be a nuclear physicist. Or he might be a fruitcake". P. Valley, The Independent

● In december 2005, Nature published a study comparing Wikipedia and Encyclopedia Britannica (in its web edition) on 42 randomly selected scientific articles:

Page 8: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● "In the study, entries were chosen from the websites of Wikipedia and Encyclopaedia Britannica on a broad range of scientific disciplines and sent to a relevant expert for peer review. Each reviewer examined the entry on a single subject from the two encyclopaedias; they were not told which article came from which encyclopaedia. A total of 42 usable reviews were returned out of 50 sent out, and were then examined by Nature's news team.

● Only eight serious errors, such as misinterpretations of important concepts, were detected in the pairs of articles reviewed, four from each encyclopaedia. But reviewers also found many factual errors, omissions or misleading statements: 162 and 123 in Wikipedia and Britannica, respectively." [Nature, 2005]

● This demonstrates that in ideal conditions, OSS-like approaches can be used in non-software environments with similar results

● In the context of the OpenTTT project we are evaluating the conditions for the applicability of cooperative development models for non-software projects

Page 9: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● We have identified 65 projects, covering fields as different as politics, journalism and physical objects

● Most of those projects follow an internal structure quite similar to that of software; for example, all the collaborative writing projects (like Wikipedia, Amapedia, TripAdvisor, WikiTravel, RichDex, Wikia) are structured in a modular way, article-centered, and users add or modify ("bug fixing") leaving a visible trace that can be modified or undone, not different from the use of software versioning system common in OSS

● Consensus is reached through an explicit and public decision; when consenus is not possible, in Wiki-based system the article is marked as "controversial" and decision is left to the user (with both sides visible)

● This is different from software, where usually a "fork" happens and the project takes two separate ways that can later fold back into a single one (examples of this are the GCC/EGCS fork or EMACS/XEMACS)

Page 10: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● Graphics and multimedia projects tend to have a much limited degree of collaborative work, and artifacts are mainly "reused" (remixed in the case of audio and video) with limited modifications

● Physical objects (through their 3D CAD files) tend to "appear" at the end of development, and successive modifications are limited

● The exception is open hardware (electronics): the use of descriptive languages like VHDL or Verilog makes the development process and the tools used similar to pure software

● By studying the development patterns of the 65 projects, it is clear that the collaborative platform is the main enabler; the lack of unifying software is the main difference between activity areas like software, audio/video, 3D, etc.

Page 11: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 12: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 13: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● An example of design with external, strict constraints:

● "The MultiMachine is an accurate all-purpose machine tool that can be used as a metal or wood lathe, end mill, horizontal mill, drill press, wood or metal saw or sander, surface grinder and sheet metal "spinner".

● It can be built by a semi-skilled mechanic using just common hand tools.

● For machine construction, electricity can be replaced with "elbow grease" and all the necessary material can come from discarded vehicle parts.

● It can be built in a closet size version or one that would weigh 4 or 5 tons."

Page 14: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

● In the last 2 years several new projects have been created in quite uncommon areas; for example, the Open Source Judaism project is creating religious books (Haggadah), Politicopia in politic debate, Groklaw in legal cases

● Some enhancements have been proposed in the basic collaboration software: provenance and color-coding for reliability representation in Wikipedia are two examples

● A promising approach to collaboration is the extension of traditional Wiki tools with domain-specific plugins, or the creation of dedicated platforms:

Page 15: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 16: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 17: Non-software OSS projects

Non solo software: modelli partecipativi di sviluppo QuiFree, 26/10/2007

Page 18: Non-software OSS projects

Supercomputing: tecnologie, tendenze, applicazioni Udine, 17/5/2007

Thanks

Carlo [email protected]