Textbook Roadmap

From Teaching Open Source

Jump to: navigation, search

We are currently nearing our first official release of the Teaching Open Source textbook, which is licensed CC-BY-SA.

Contents

[edit] 0.8 release

[edit] Source

The wiki is the canonical source for writing, but there are other source media used in the publishing of the book.

[edit] 0.8.1 release

Our next goal: Release 0.8.1 Sep 2010

For information and participation, the Practical OSS Exploration textbook 0.8.1 planning page is where the next version of this textbook is being planned.

Current status of each chapter:

Chapter Owner(s) Notes
Foreword Greg De Koenigsberg
Introduction to Free and Open Source Software Greg De Koenigsberg
The Lay of the Land Chris Tyler
Getting the Code Greg De Koenigsberg, Mel Chua
Building the Code Greg De Koenigsberg
Debugging the Code Greg De Koenigsberg
Fixing the Code Jeff Sheltren
Explaining the Code: the Art of Documentation Karsten Wade
Release Early, Release Often Greg De Koenigsberg
Appendix A. Instructor Guide Greg De Koenigsberg
Appendix B. Glossary of Terms Mel Chua

[edit] Proposed new chapters

  • Being Productively Lost - working in open communities.
  • History of Open Source - what are things like now and how did things get to be this way?
  • Community Cultures - different types of communities and how they interact. Explanation of communities of practice.
  • Open Communities and Diversity - there are significant disparities and non-trivial problems, some of what and why.
  • Licensing the Code - concepts about copyright, copyleft, different types of licenses, and effects of those choices on the code and community.
  • Threats and Risks Analysis for Open Source - review of what can go wrong and consequences; what FUD is and how it's handled. What people forget and do wrong all the time.
  • Open for Business - Free software, open source software, and business. Different business models around FOSS to the present.
  • Practicing the Open Source Way - how open source has influenced other disciplines in terms of core principles (NOT using software but contribution cultures).
  • Requirements for the Code - How do you determine the exact requirements of a feature or enhancement? How do you do this in an open environment where users may be developers and there may be conflict in desired functionality? How do you document these?
  • Designing the Code - How do you determine the overall design of a project? How do you determine how your piece fits into the overall design? How do you document this? What are good design practices that result in good code?
  • Testing the Code - How do you ensure that your patch/enhancement/bug fix is correct? Organized approaches to testing.

Sources for this content: Wikipedia and other CC licensed sources; theopensourceway.org; original content production.