We have shared software since we have written it. Writing good software is hard work. As the Internet was established, software became easier to share, and with the rise of the World Wide Web it has become trivial to share and collaborate on software. The economics of collaborating on software is compelling. Much of research on programming languages, tools, and methodologies has been driven around writing more software, faster, in fewer lines of code, and with fewer errors. Being able to use and re-use software across the Internet is the best engineering economical way we have discovered to date to write more software faster. Sharing working frameworks, libraries, tools and building blocks of software has allowed software to thrive and grow throughout every aspect of society.
Software is considered intellectual property and all software is protected by copyright law. The expression "open source software" refers to a way of licensing software that meets the "Open Source Definition" as established in 1997.
No book is created in a vacuum. Many of the ideas in the book (and much of its prose) were originally expressed in blog posts published on the Outercurve Foundation website. The Outercurve Foundation would like to thank ….
The following collection of articles, books, blog posts were used in the production of this book.
- Free Software
-
Free Software refers to software whose copyright license ensures certain freedoms for the user of the software. A discussion of software freedom and the freedoms that are part of the definition one should refer to the Free Software Foundation website (http://www.gnu.org/philosophy/free-sw.html).
- Open Source Software
-
Open Source Software refers to software whose copyright license follows the open source definition. The open source definition (OSD) is maintained by the Open Source Initiative at their website (http://opensource.org/docs/osd).
- OSD
-
See Open Source Software.
This book is produced using asciidoc and the asciidoc tool chain. The authors used git locally and github to maintain a versioned view of the files, images, etc. that get ground into the final product.
Websites, tools, references, etc. can be found:
-
The Official Ascii Doc site. This site contains references, cheat sheets, templates, and how-to documentation on installing and running the tool chain (asciiidoc.py, et al). Of particular use:
-
The AsciiDoc Cheatsheet.
-
The AsciiDoc User Guide.
-
I actually found this to be an enormously helpful Mac OS X site for installing asciidoc and its brethren: http://www.ladysign-apps.com/developer/environment/install-asciidoc-on-the-commandline-mac-osx/
-