Open Source and Global Health

From IHRIS Wiki
Revision as of 14:26, 21 May 2008 by Dcm (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Introduction


Open source software and global health share key philosophical traits. Both intend to allow for a greater good which is shared by all peoples of the world without discrimination to location, finances, or culture. Software that is free can't be lost to funding loss, project reorganization, or end-of-project termination. Free software allows for sustainability. This is one reason why we have chosen to use open source licensing for the Capacity Project's iHRIS Suite. At IntraHealth we take to heart the idea that the education, tools, and ideals we bring to partners in the field live on once we have successfully ended a project and moved on to the next thing.


There can be no better ideal to both global health and free software than having "the freedom to improve the program, and release your improvements to the public, so that the whole community benefits"<ref name="ftn0">Richard Stallman - http://www.fsf.org/licensing/essays/free-sw.html</ref>


To successfully release your software as open source there are a few steps to take to ensure others will know about it and have the freedom to work with you. The first step is to choose a license. There is no single step more important than to license your code, even before you start writing it. The license isn't just the legal footing you have to protect your creation, it is also a statement of intention. Choosing a good open source license states your intention to work with others and to share your good work freely.


Open Source Software Definition<ref name="ftn1">From the Open Source Initiative (http://www.opensource.org/docs/osd</ref>:


  1. Free Redistribution
  2. Source Code
  3. Derived Works
  4. Integrity of The Author's Source Code
  5. No Discrimination Against Persons or Groups
  6. No Discrimination Against Fields of Endeavor
  7. Distribution of License
  8. License Must Not Be Specific to a Product
  9. License Must Not Restrict Other Software
  10. License Must Be Technology-Neutral

Open Source Licenses:


  • GPL
  • LGPL
  • BSD
  • MIT
  • Apache

Building a Community:


One cannot simply assume that the decision to release a project under an open source license automatically guarantees a community will grow up around it. There is work involved in fostering community and there is work involved in making sure the ground is fertile for growth. The single most important thing to keep in mind about open source communities is that the community is first and foremost made up of those who will actually use the application. Do not expect a random person who has no need for the application to simply jump in and fix your bugs or add a new feature.


  1. Make something good. There is no way around this. No community grows up around nothing.
  2. Once you have this good thing, or even the idea for the good thing, find other people who like similar good things. Join in the conversations around those things and let people know your intentions. Ask them to join in.
  3. Have a builder/maintainer. This does take work, you can't just sit back and wait for people to come to you. Assign someone who will work on the community and make sure it is easy for them to participate.
  4. Be open. Be transparent. If you are always guarding your ideas and your work the community will leave. If you don't start off open and transparent they will never show up to begin with.
  5. Be OK with criticism. You'd be amazed what talking sanely to your most fervent critic can do for both you and the critic. Sometimes your critic can become your best advocate.
  6. Make sure there is some place where people can talk. Community is all about discourse. If there is nowhere for the community to share then there is no community... or at least not one in which you are involved.
  7. Publicize. Let people know about your "something good". Let people know about your community. You never know who is out there looking for what you have to offer.

The community building process for the Capacity Project goes beyond simply the software. We are attempting to create ownership of the whole project by growing up the community in all levels. We do this through our defined processes: stakeholder leadership participation from the first day; strengthen any infrastructure from personnel to hardware; develop software customized to each area's critical needs; always provide data for decision making; sustainability.


More Information:


IntraHealth International → http://www.intrahealth.org

Capacity Project → http://www.capacityproject.org

iHRIS Suite → http://www.capacityproject.org/hris/

Launchpad → http://www.launchpad.net

iHRIS on LP → https://launchpad.net/ihris-suite

Open Source Initiative → http://www.opensource.org/

dm4son@del.icio.us → http://del.icio.us/dm4son


Recommended Reading:


Books:

Here Comes Everybody - Clay Shirky

Code: And Other Laws of Cyberspace - Larry Lessig


Papers:

Commons Based Peer Production and Virtue - Yochai Benkler, Helen Nissenbaum: 14(4) J. Political Philosophy 394-419 (2006) → http://www.nyu.edu/projects/nissenbaum/papers/jopp_235.pdf


<references/>