New Page 1

LA GRAMMATICA DI ENGLISH GRATIS IN VERSIONE MOBILE • TEL. 375-5186291 •   INFORMATIVA PRIVACY

  Telefono e SMS: 375-5186291       NUOVA SEZIONE ELINGUE
EMAIL:

 

Selettore risorse   

   

 

                                         IL Metodo  |  Grammatica  |  RISPOSTE GRAMMATICALI  |  Multiblog  |  INSEGNARE AGLI ADULTI  |  INSEGNARE AI BAMBINI  |  AudioBooks  |  RISORSE SFiziosE  |  Articoli  |  Tips  | testi pAralleli  |  VIDEO SOTTOTITOLATI
                                                                                         ESERCIZI :   Serie 1 - 2 - 3  - 4 - 5  SERVIZI:   Pronunciatore di inglese - Dizionario - Convertitore IPA/UK - IPA/US - Convertitore di valute in lire ed euro                                              

 

 

WIKIBOOKS
DISPONIBILI
?????????

ART
- Great Painters
BUSINESS&LAW
- Accounting
- Fundamentals of Law
- Marketing
- Shorthand
CARS
- Concept Cars
GAMES&SPORT
- Videogames
- The World of Sports

COMPUTER TECHNOLOGY
- Blogs
- Free Software
- Google
- My Computer

- PHP Language and Applications
- Wikipedia
- Windows Vista

EDUCATION
- Education
LITERATURE
- Masterpieces of English Literature
LINGUISTICS
- American English

- English Dictionaries
- The English Language

MEDICINE
- Medical Emergencies
- The Theory of Memory
MUSIC&DANCE
- The Beatles
- Dances
- Microphones
- Musical Notation
- Music Instruments
SCIENCE
- Batteries
- Nanotechnology
LIFESTYLE
- Cosmetics
- Diets
- Vegetarianism and Veganism
TRADITIONS
- Christmas Traditions
NATURE
- Animals

- Fruits And Vegetables



ARTICLES IN THE BOOK

  1. Academic Free License
  2. Adaptive Public License
  3. Advogato
  4. Affero General Public License
  5. Africa Source
  6. AKademy
  7. Alternative terms for free software
  8. Anti-copyright notice
  9. Apache License
  10. Apache Software Foundation
  11. APESOL
  12. Apple Public Source License
  13. Artistic License
  14. Association For Free Software
  15. August Penguin
  16. Benetech
  17. Benevolent Dictator for Life
  18. BerliOS
  19. Binary blob
  20. BK02
  21. Blender Foundation
  22. Bruce Perens' Open Source Series
  23. BSD licenses
  24. CeCILL
  25. CE Linux Forum
  26. Clarkson Open Source Institute
  27. Code Breakers
  28. CodePlex
  29. Collaborative software development model
  30. Collaborative Source license
  31. Common Development and Distribution License
  32. Common Public License
  33. Comparison of free software hosting facilities
  34. CONSOL
  35. Copycenter
  36. Copyleft
  37. Creative Commons licenses
  38. Debconf
  39. Debian Free Software Guidelines
  40. Debian Manifesto
  41. Desktop Developers' Conference
  42. Eclipse Foundation
  43. Eclipse Public License
  44. Enterprise open source journal
  45. European Union Public Licence
  46. Everybody Loves Eric Raymond
  47. Forum Internacional Software Livre
  48. Fedora Project
  49. FOSDEM
  50. FOSS.IN
  51. Fossap
  52. Frameworx License
  53. Free content
  54. Free Culture movement
  55. Freedesktop.org
  56. Freely redistributable software
  57. Freepository
  58. Free software
  59. Free Software Award for Projects of Social Benefit
  60. Free software community
  61. Free Software Directory
  62. Free Software Foundation
  63. Free Software Foundation Europe
  64. Free Software Foundation Latin America
  65. Free Software Foundation of India
  66. Free Software Initiative of Japan
  67. Free software license
  68. Free Software Magazine
  69. Free software movement
  70. Free Software Song
  71. Free Standards Group
  72. FSF Award for the Advancement of Free Software
  73. GCC Summit
  74. Gna.org
  75. GNAT Modified General Public License
  76. Gnits Standards
  77. GnomeFiles
  78. GNOME Foundation
  79. GNU Coding Standards
  80. GNU Free Documentation License
  81. GNU General Public License
  82. GNU Lesser General Public License
  83. GNU Manifesto
  84. GNU Savannah
  85. GNU Simpler Free Documentation License
  86. Google Code
  87. Google Summer of Code
  88. Go Open Source
  89. GRASS GIS
  90. Gratis versus Libre
  91. Groklaw
  92. GUADEC
  93. Halloween documents
  94. Hamakor
  95. Historical Permission Notice and Disclaimer
  96. Homesteading the Noosphere
  97. Hurd User Group
  98. IBM Public License
  99. IBM Type-III Library
  100. Intel Open Source License
  101. International Open Source Network
  102. Irish Free Software Organisation
  103. ISC licence
  104. Jargon File
  105. Jimbo Wales
  106. KDE Dot News
  107. KernelTrap
  108. LAMP
  109. LaTeX Project Public License
  110. League for Programming Freedom
  111. Leonard H. Tower Jr.
  112. libpng
  113. Libre Software Meeting
  114. Linus's Law
  115. Linus Torvalds
  116. Linux.conf.au
  117. Linux conference
  118. Linux Expo
  119. Linux Gazette
  120. Linux International
  121. Linux Journal
  122. Linux Kongress
  123. Linux naming controversy
  124. LinuxQuestions.org
  125. LinuxTag
  126. Linux User Group
  127. LinuxWorld Conference and Expo
  128. List of software that uses the MIT License
  129. LiveJournal
  130. Lucent Public License
  131. LXer
  132. MIT License
  133. MozBin
  134. Mozdev.org
  135. Mozilla Add-ons
  136. Mozilla Foundation
  137. Mozilla Public License
  138. MozillaZine
  139. MyOSS
  140. NetHack General Public License
  141. Netscape Public License
  142. NewsForge
  143. New Zealand Open Source Society
  144. NonProfit Open Source Initiative
  145. Non-proprietary software
  146. Nupedia Open Content License
  147. ObjectWeb
  148. Ohio LinuxFest
  149. Ohloh
  150. O3 Magazine
  151. Open Audio License
  152. OpenCola
  153. Open content
  154. Open design
  155. OpenDocument Format Alliance
  156. OpenLP
  157. Open outsourcing
  158. Open Security Foundation
  159. Open Software License
  160. Open-source advocacy
  161. Open Source Applications Foundation
  162. Open-source culture
  163. Open Source Definition
  164. Open Source Developers' Conference
  165. Open-source evangelist
  166. Open source funding
  167. Open Source Geospatial Foundation
  168. Open Source Initiative
  169. Open source movement
  170. Open source movie
  171. Open-source software
  172. Open source software development
  173. Open source software development method
  174. Open Source Software Institute
  175. Open source teaching
  176. Open source vs. closed source
  177. Open-sourcing
  178. O'Reilly Open Source Convention
  179. Organisation for Free Software in Education and Teaching
  180. OSDL
  181. Ottawa Linux Symposium
  182. Patent Commons
  183. PHP License
  184. Pionia
  185. Pionia Organization
  186. Proprietary software
  187. Protecting the Virtual Commons
  188. Public Documentation License
  189. Public-domain equivalent license
  190. Python License
  191. Python Software Foundation License
  192. Q Public License
  193. RealNetworks Public Source License
  194. Reciprocal Public License
  195. Red Hat
  196. Revolution OS
  197. Richard Stallman
  198. RubyForge
  199. Sarovar
  200. Savane
  201. SIL Open Font License
  202. Simputer General Public License
  203. SIPfoundry
  204. Slashdot
  205. Sleepycat License
  206. Software Freedom Day
  207. Software Freedom Law Center
  208. Software in the Public Interest
  209. SourceForge
  210. Spread Firefox
  211. Sun Industry Standards Source License
  212. Sun Public License
  213. Sybase Open Watcom Public License
  214. Tanenbaum-Torvalds debate
  215. Tectonic Magazine
  216. The Cathedral and the Bazaar
  217. The Freedom Toaster
  218. The Free Software Definition
  219. The Perl Foundation
  220. The Right to Read
  221. The Summit Open Source Development Group
  222. Tigris.org
  223. Tivoization
  224. Tux
  225. Tux Magazine
  226. Ubuntu Foundation
  227. Use of Free and Open Source Software in the U.S. Department of Defense
  228. Vores Ol
  229. W3C Software Notice and License
  230. Webgpl
  231. What the Hack
  232. Wizards of OS
  233. WTFPL
  234. X.Org Foundation
  235. Xiph.Org Foundation
  236. Yet Another Perl Conference
  237. Yogurt

 

 
CONDIZIONI DI USO DI QUESTO SITO
L'utente può utilizzare il nostro sito solo se comprende e accetta quanto segue:

  • Le risorse linguistiche gratuite presentate in questo sito si possono utilizzare esclusivamente per uso personale e non commerciale con tassativa esclusione di ogni condivisione comunque effettuata. Tutti i diritti sono riservati. La riproduzione anche parziale è vietata senza autorizzazione scritta.
  • Il nome del sito EnglishGratis è esclusivamente un marchio e un nome di dominio internet che fa riferimento alla disponibilità sul sito di un numero molto elevato di risorse gratuite e non implica dunque alcuna promessa di gratuità relativamente a prodotti e servizi nostri o di terze parti pubblicizzati a mezzo banner e link, o contrassegnati chiaramente come prodotti a pagamento (anche ma non solo con la menzione "Annuncio pubblicitario"), o comunque menzionati nelle pagine del sito ma non disponibili sulle pagine pubbliche, non protette da password, del sito stesso.
  • La pubblicità di terze parti è in questo momento affidata al servizio Google AdSense che sceglie secondo automatismi di carattere algoritmico gli annunci di terze parti che compariranno sul nostro sito e sui quali non abbiamo alcun modo di influire. Non siamo quindi responsabili del contenuto di questi annunci e delle eventuali affermazioni o promesse che in essi vengono fatte!
  • L'utente, inoltre, accetta di tenerci indenni da qualsiasi tipo di responsabilità per l'uso - ed eventuali conseguenze di esso - degli esercizi e delle informazioni linguistiche e grammaticali contenute sul siti. Le risposte grammaticali sono infatti improntate ad un criterio di praticità e pragmaticità più che ad una completezza ed esaustività che finirebbe per frastornare, per l'eccesso di informazione fornita, il nostro utente. La segnalazione di eventuali errori è gradita e darà luogo ad una immediata rettifica.

     

    ENGLISHGRATIS.COM è un sito personale di
    Roberto Casiraghi e Crystal Jones
    Tel. e SMS: 375-5186291 - Email:

    Roberto Casiraghi           
    INFORMATIVA SULLA PRIVACY              Crystal Jones


    Siti amici:  Lonweb Daisy Stories English4Life Scuolitalia
    Sito segnalato da INGLESE.IT

 
 



FREE SOFTWARE CULTURE
This article is from:
http://en.wikipedia.org/wiki/Open_source_software_development_method

All text is available under the terms of the GNU Free Documentation License: http://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License 

Open source software development method

From Wikipedia, the free encyclopedia

 

Open source software development is the development of Open source software products. These are software products “available with its source code and under an open source license to study, change, and improve its design”. Examples of popular Open source software product are Mozilla Firefox and the OpenOffice.org Suite. The Open source software development method is very unstructured, because no clear development tools, phases, etc. have been defined like with development methods such as DSDM. Instead, every project has its own phases. There are, however, generalities between Open source development projects. In this entry these generalities will be described.

History

In 1997, Eric S. Raymond wrote The Cathedral and the Bazaar[1]. In this book, Raymond makes the distinction between two kinds of software development. The first is the conventional closed source development. These kind of development methods are, according to Raymond, like the building of a cathedral; central planning, tight organization and one process from start to finish. The second is the progressive open source development, which is more like a “a great babbling bazaar of differing agendas and approaches out of which a coherent and stable system could seemingly emerge only by a succession of miracles.” The latter analogy is points to the discussion involved in an Open source development process. In some projects, anyone can submit suggestions and discuss them. Fact is, that the ‘coherent and stable systems’ Raymond mentions do emerge from Open source software development projects. Differences between the two styles of development, according to Bar & Fogel,[2] are in general the handling (and creation) of bug reports and feature requests, and the constraints under which the programmers are working. In closed source software development, the programmers are often spending a lot of time dealing with and creating bug reports, as well as handling feature requests. This time is spent on prioritizing and creation of further development plans. This leads to (part of) the development team spending a lot of time on these issues, and not on the actual development. Also, in closed source projects, the development teams must often work under management-related constraints (such as deadlines, budgets, etc.) that interfere with technical issues of the software. In open source software development, these issues are solved by integrating the users of the software in the development process, or even letting these users build the system themselves.

More general historic information can be found in the article about Open source software.

Open source software development tools

Several kinds of tools are being used to assist in Open source software development. These tools include the ones described in this section.

Source code revision control

These tools are also referred to as version control tools, or configuration management tools.

According to Bar & Fogel, the participants in Open source software development projects are mostly volunteers and distributed amongst different geographic regions. Also, a lot of different additions to the code have to be integrated into one consistent whole. This can not be done by one author, because in informal project such as Open source projects, the work is not divided in advance and is not centrally directed. Moreover, in Open source projects the (majority of the) participants are not trained to work together, simply because this investment would be lost if a volunteer leaves, and is replaced by an untrained volunteer.

Bar & Fogel mention that in Open source software development, “the source code is made accessible to the entire world”. Releasing the code has advantages for the project, for instance bugs can be fixed by volunteers. This principle arises some issues: the source code should be released often, because bug tracking demands this: by releasing the code often, participants can check if a particular bug is already fixed or being fixed. The participants of Open source projects continuously need access to the latest versions of the continuously changing source code. To accommodate this, individual contributors have to be able to enter changes to the code.

These issues make the use of a Version control system necessary. This is a category of systems that facilitate in the continuous changing of code, keeping track of changes, etcetera.

Concurrent Versions System (CVS) is a major example of a source code collaboration tool being used in OSS projects. CVS supports (and integrates) two different needs in Open source software development: keeping track of changes and collaboration. In short, CVS works as follows:

  1. A individual participant downloads a ‘working copy’ of the project. This is a composition of the files making up the project, arranged in a directory tree.
  2. The participant starts working in the downloaded copy. Other participants can simultaneously start working in there downloaded copies.
  3. After the participant is done making changes, he commits them into the repository, along with a log message of what was changed and why this was done.
  4. Other participants can track recent changes to the repository by synchronizing their locally stored copies with the centrally stored ‘master’.

The system tracks the changes that are made to the code, and which version of the repository these changes were made in. In this way, conflicting changes to the same part of the project can be traced. The conflicts can be solved by choosing the best change, or integrating both changes in one new version. CVS also enables one to easily go back to a previous version of a file and retrieve it.

Subversion (svn) is a version control system designed specifically to be a modern replacement for CVS. The major advantages of Subversion over CVS are described in the main article about Subversion.

Testing tools

Since OSS projects undergo frequent integration, tools that help automate testing during system integration are used. An example of such tool is Tinderbox. Tinderbox enables participants in an OSS project to detect errors during system integration. Tinderbox runs a continuous build process and informs users about the parts of source code that have issues and on which platform(s) these issues arise. Furthermore, this tool identifies the author of the offending code. The author is then held responsible for ensuring that error is resolved. Opensourcetesting.org is a website on which open source testing tools are collected. Mainly because normal testing tools are quite expensive and often have features that are not needed, open source testing tools are gaining popularity.

Bug tracking

Bug tracking is sometimes referred to as error or defect tracking.

Bug tracking is an important aspect of OSS projects. Bug tracking includes the following tasks: keeping a record of all reported bugs, whether the bug has been fixed or not, which version of the software does the bug belong to, and whether the bug submitter has agreed that the bug has been fixed (squashed). Popular bug tracking systems include GNATS and Bugzilla.

GNU GNATS is a set of tools for tracking bugs reported by users to a central site. It allows problem report management and communication with users via various means. GNATS stores all the information about problem reports in its databases and provides tools for querying, editing, and maintenance of the databases.

Bugzilla is a "Defect Tracking System" or "Bug-Tracking System". It allows individual or groups of developers to keep track and manage outstanding bugs in their product.

Opensourcetesting.org maintains a list of open source bug tracking tools. This list contains open source bug tracking tools that are hosted on Sourceforge, and is updated weekly.

Communication & Collaboration

Since the participants in an Open source software development project are dispersed, there is a need for tools to aid in organizing communication between project participants. This is accomplished with the aid of websites (Freshmeat, GNU Savannah, SourceForge), mailing lists (GNU Mailman) and instant messengers (MSN, ICQ, and also IRC). The above mentioned Open Source Software development tools are an essential and integral part of the Open Source Software development model.

Package management

A package management system is a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer. The RedHat Package Manager (RPM) is a package management system used by a number of Linux distributions.

Compiling

A compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language). The Amsterdam Compiler Kit is an Open source compiler kit.

Debugging

A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs. GNU Debugger (GDB) is an example of a debugger used in Open source software development. This debugger offers remote debugging, what makes it especially applicable to Open source software development. Also, some memory leak detectors have been designed to work with GDB.

Memory leak & validation

A memory leak tool or memory debugger is a programming tool for finding memory leaks and buffer overflows. A memory leak is a particular kind of unnecessary memory consumption by a computer program, where the program fails to release memory that is no longer needed. Examples of memory leak detection tools used by Mozilla are the XPCOM Memory Leak tools. Validation tools are used to check if pieces of code conform to the specified syntax. They are most often used in the context of HTML/XML, but can also be used with programming languages. An example of a validation tool is LCLint, now called Splint.

Performance profiling

Performance profilers are tools used to measure product performance. MOZ_TIMELINE, for example, is a timing instrumentation used by Mozilla to measure application startup times.

Open source software development phases

Open source software development can be divided into several phases. The phases specified here are derived from Sharma et al.[3]. A diagram displaying the process-data structure of Open source software development is placed on the right side. In this picture, the phases of Open source software development are displayed, along with the corresponding data elements. This diagram is made using the Meta-Modeling and Meta-Process Modeling techniques. In table 1, the activities displayed in the figure are explained.

The process starts with a choice between the adopting of an existing project, or the starting of a new project. The difference between these two is explained in the section ‘New projects vs. existing projects’. If a new project is started, the process goes to the Initiation phase. If an existing project is adopted, the process goes directly to the Execution phase.

Process-Data Model for Open source software development
Process-Data Model for Open source software development

Open source software licensing

Licensing is a major issue in Open source software development. See the section on Open-source license for more information.

Open source software development methods

It is hard to run an Open source project following a more traditional software development method like the Waterfall model, because in these traditional methods it is not allowed to go back to a previous phase. In Open source software development requirements are rarely gathered before the start of the project; instead they are based on early releases of the software product, as Robbins describes[4]. Besides requirements, often volunteer staff is attracted to help developing the software product based on the early releases of the software. This networking effect is essential according to Abrahamsson et al.[5]: “if the introduced prototype gathers enough attention, it will gradually start to attract more and more developers”. However, Abrahamsson et al. also point out that the community is very harsh, much like the business world of closed source software: “if you find the customers you survive, but without customers you die”.

Alfonso Fuggetta mentions[6] that “rapid prototyping, incremental and evolutionary development, spiral lifecycle, rapid application development, and, recently, extreme programming and the agile software process can be equally applied to proprietary and open source software”. One Open source development method mentioned by Fuggetta is the Agile method Extreme Programming. All the Agile methods are in essence applicable to Open source software development, because of their iterative and incremental character. Another Agile method, Internet Speed Development, is also suitable for Open source software development in particular because of the distributed development principle it adopts. Internet Speed Development used geographically distributed teams to ‘work around the clock’. This method is mostly adopted by large closed source firms like Microsoft, because only big software firms are able to create distributed development centers in different time zones. Of course if software is developed by a large group of volunteers in different countries, this is being achieved naturally and without the investment needed like with closed source software development.

New projects vs. existing projects

There are some differences between the use of Open source software development for new projects (new software products that are developed from scratch) and existing projects (existing non-open source software projects which development is continued following the Open source software development method. The major difference is that new projects most of the time do not start with an Initiation phase, because already a body of code, a workplan and a development team exist. In new projects, the Initiation phase does have to be done.

Example of Open source software development: the Mozilla Foundation

Mockus et al.[7] describe the history of the Mozilla Organization (that has now become the Mozilla Foundation), and their browser project, Mozilla. The Mozilla Foundation was founded in 1998 to create the next-generation internet suite for Netscape. Netscape released most of the code base for its popular Netscape Communicator internet suite under an open source license. In other words, this product is an example of a project using commercially developed code as the basis for an Open source software project. In the beginning of the project, Mozilla had trouble getting enough labor force for the development team. After the documentation was improved, tutorials were written, and the development tools and processes refined, participation slowly started to increase. Mozilla does not depend on volunteers to man its development team; instead programmers are employed. There does, however, remain a large group of volunteers involved in the A roadmap document is maintained, in which specifications for future releases are written, as well as the dates for which releases are scheduled. Anyone can report bugs or make remarks on releases. The Bugzilla problem reporting tool is used for the tracking of bugs. Work is divided by letting the developers choose which part of the code development suits them best, according to their skill and expertise. The development of code to fix bugs is often attached to the problem report in Bugzilla. Every day the main body of code is updated, and a check is done to test if the code is still working. If the code does not work anymore, the bugs in the code are traced and solved. Code is inspected before it is implemented into the main body of code existing so far. Release management is done by the method of ‘milestone’-releases. In this method, approximately once per month a release of the software is done, but always when the so far developed code is ready for the release. It is, in other words, a human decision when this release is done, and not an automated process. For the release management the tool Tinderbox is used.

References

  • 1.  Raymond, E.S. (1999). The Cathedral & the Bazaar. O'Reilly Retreived from http://www.catb.org/~esr/writings/cathedral-bazaar/. See also: The Cathedral and the Bazaar.
  • 2.  Bar, M. & Fogel, K. (2003). Open Source Development with CVS, 3rd Edition. Paraglyph Press. (ISBN 1-932111-81-6)
  • 3.  Sharma, S., Sugumaran, V. & Rajagopalan, B. (2002). A framework for creating hybrid-open source software communities. Information Systems Journal 12 (1), 7-25.
  • 4.  Robbins, J.E. (2003). Adopting Open Source Software Engineering (OSSE) Practices by Adopting OSSE Tools. Making Sense of the Bazaar: Perspectives on Open Source and Free Software, Fall 2003.
  • 5.  Abrahamsson, P, Salo, O. & Warsta, J. (2002). Agile software development methods: Review and Analysis. VTT Publications.
  • 6.  Fuggetta, A. (2003). Open source software - an evaluation, Journal of Systems and Software, 66, 77-90.
  • 7.  Mockus, A., Fielding, R. & Herbsleb, J. (2002). Two case studies of open source software development: Apache and mozilla, ACM Transactions on Software Engineering and Methodology 11 (3), 1 – 38.

See also

 
  • Open Source Wiki Project
  • Open-source software
  • Software development process
  • Extreme Programming
  • Agile Software Development
  • Internet-Speed Development
  • Release Management
  • Software engineering
  • Revision control
  • Meta-Modeling
  • Meta-Process Modeling
Retrieved from "http://en.wikipedia.org/wiki/Open_source_software_development_method"