Innovation through Nonprofit Software Development

10:45-12:15

How have nonprofits developed and adapted software tools to meet their needs? This session will focus on discussing 3-6 case studies of nonprofit software initiatives which involve: single organizations and collaboration between organizations details on what worked and what didn't relating to technical staff and managing limited or extensive levels of participation elements of open source and closed source projects and how nonprofits addressed gaps between their skills and managing technology projects. Suggestions on future practices will also be offered.

Takeaways

-some good stories of pitfalls and ways to avoid them
-advantages and disadvantages of various approaches

Panelists: Sara Schnadt Office of Cultural Planning at Department of Cultural Affairs,  Phil Klein www.penpixel.com , Katrin Verclas on FOSS solutions.

Format:

* Intro/goals -- 5 min 10:45-10:50
*  who's here... npo
* Polls/audience interaction - 10 min 10:50-11:00

         have you done a software project
 
       experience -- good, bad, ugly, mixed
         points of pain
         innovated?  if not why not?

(maybe we can do a spectrogram)

Sessions: 15 min each 
-Sara Schnadt --til 11:15
-Phil Klein --til 11:30
-Katrin Verclas --til 11:45

* discussion/Q&A 30 mins 11:45-12:15

 

 

Phil’s 15 minutes:

 

It all comes down to working wisely, working with the right other people and organizations, in good and viable ways, and working well together -- in a few words, good project management and collaboration.

 



Beware! There are lots of disincentives to collaborate – it’s a minefield. NPODevelopers, NPOSandbox, Social Source, some attempts to get funders to consider how projects could yield benefits beyond a narrow scope, are all examples of failed efforts at collaboration.  


Some common problems with Collaboration

Models for collaboration on software tools

Partnerships between organizations

Involve Volunteers in your project

Open Source projects

Choose a platform (Zope / Drupal etc.)

There are hardly any good code-bases / web-app platforms adopted or developed by or for the public sector. This is a serious problem. Just about every funded OSS project I know of under development right now is being built on different code base. Most are starting from scratch. This is wasteful and inneficient. Before you start coding your app from scratch ask yourself "Do I want to be an open source product or a platform?" If you want to be a platform, by all means go for it. If you want to be a product then choose some one elses platform.

Integration trumps interoperability

Two different code-bases will never cleanly coexist. You can push things out to web-services and you can make tons of API's, but in the end the users will demand a unified interface and the developers will balk at kludgey duct tape. You can surely make it work - but eventually the unified platform will win. Not that I am a promponent of "one platform rules them all". I think healthy competition between platforms is extremely important. But I wish folks would spend more time evaluating their options before they start making a heap of code all on their own.

Portability is important

Having an app that installs in less than ten minutes on any $7 a month hosting environment is a powerful thing. The harder it is to dive into your code / environment the harder it will be to get developers to build on top of it. Code that is designed to be hosted only in an ASP environment is much harder to dive into than code that is designed for end user / developers. You can build platforms that are designed for single install environments but that can be hosted in an ASP environment (We are at civicspacelabs.org). Why not have the best of both worlds?

Open Source doesn't end with the liscense

Open source is a methadology and a culture. In the open source methadology you must always try to build on others work and avoid forking. Re-creating a product / platform from scratch is the same thing as forking. Web-apps aren't any different than compiled code in this manner. Open-sourced code that no body can easily re-use isn't much better than closed source code. Your gift to the open-source ecology is missplaced if it is not build on top of other peoples work and cannot be built upon in turn.


Case Studies 

 

Suggestions: