Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Making software-projects-successful-nicar-2013

0 views

Published on

  • Be the first to comment

Making software-projects-successful-nicar-2013

  1. 1. How can we get the widest impact out of software projects? NICAR 2013 Rich Gordon
  2. 2. The problem: much code is never re-used Dan Schultz We keep reinventing the wheel. “Wouldnt it be nice if all these new wheels could Alberto Ibarguen be used again and "We want to see actual improved upon use with actual readers over time?” in actual communities with sustainability."© Rich Gordon | Knight Lab, Northwestern University 2013
  3. 3. How can we measure the success of a software project? • Key question: Do end users make use of it? • Metrics: – Downloads – Installations – Continued development activity – Posts to project discussion boards/email lists – Addition of one or more developers – Releases beyond initial version – Buzz /attention / high-profile successes© Rich Gordon | Knight Lab, Northwestern University 2013
  4. 4. They wrote the book on open-source success • Studied 174,000 projects shared on Charles SourceForge Schweik • Surveyed 1,400 open source developers • Success = 3+ releases, value for “at least Robert English a few users” Open source projects: Success vs. abandonment Could assess success vs. abandonment 83,694 Abandoned: initiation stage (pre-1st release) 37,320 44.6% Abandoned: growth stage 30,592 36.6% Success 15,782 18.9%© Rich Gordon | Knight Lab, Northwestern University 2013
  5. 5. The framework for evaluating success© Rich Gordon | Knight Lab, Northwestern University 2013
  6. 6. What matters: Schweik / English research • Clearly defined vision Charles • Clearly defined audience Schweik • Well-articulated and clear goals • Modular software design Robert English • Tasks of various sizes are available for developers to work on© Rich Gordon | Knight Lab, Northwestern University 2013
  7. 7. What matters: Schweik / English research • Good project communication – A good website Charles Schweik – Bug-tracking system – Email list, forum or other communication system Robert English – Documentation • Developers are users, too: “Developers participate because they themselves are users of the software or because the organization they work for depends on it.”© Rich Gordon | Knight Lab, Northwestern University 2013
  8. 8. The biggest surprise: Schweik / English research • When a project added a developer … Charles 58% of the added developers were on Schweik a different continent than the lead developer Robert • The Internet has enabled “intellectual English matchmaking” • “Regardless of where a programmer lives in the world, people can find software projects” related to their needs.© Rich Gordon | Knight Lab, Northwestern University 2013
  9. 9. What doesn’t matter: Schweik / English research • Which operating system the code Charles was written for Schweik • How many developers were involved Robert English • Formalized governance system – Most open-source projects are small (not like Linux) • Which open-source license was used© Rich Gordon | Knight Lab, Northwestern University 2013
  10. 10. Different forms of open-source licenses “Copyleft” licenses “Non-copyleft” licenses (open-source restrictions are passed on with the code) (restrictions not passed on) Athero Public GPL GPL LGPL MPL Apache BSD/MIT domain GPL applies Copyleft applies Copyleft applies File-level copyleft; “Do what you like, even if you to entire application; to software “library”; common for don’t sue us; “Do what you like, interact with if application the problem, browser software. if you contribute don’t sue us”the code remotely contains GPL code especially If you incorporate code patented code (and don’t you must release for JS projects, is into a new file, you can to the project, incorporate in source code defining what a keep those changes we can use it, your code) (not just binaries) “library” is to yourself too under GPL As you move toward the left of this graph, the restrictions on commercial use become tighter; toward the right, limitations are removed until you get to “public domain’ – code anyone can use without restriction© Rich Gordon | Knight Lab, Northwestern University 2013

×