Assessing Open Source Software Projects:
Gerald D. Neale
Interfacing your needs with existing open-source projects.
Assessing your needs:
What is your perspective?
Home use implementation.
Business implementation.
What are your goals?
What do you want to do exactly with your project?
Know your audience/user-base.
Half-life expectation of your project.
3) What are your resources; time, skill sets, funding?
Independent support (ie, you are alone in this project).
What is your motivation? To learn something new? To accomplish a task? To save money? Usually all of the above in varying degrees or you wouldn't look to OSS.
How skilled are you? Can you read source code? Can you get by with the existing logic and comments? Or do you need good documentation and an available support community? Assess support situation; FAQs, mailing lists, forums, users groups, irc chatrooms, etc.
Team support (ie, you have multiple individuals involved in this project).
How unified is the team with understanding the goal? How to be an OSS advocate.
How skilled is the lowest common denominator? How will they be supported?
How much money do you have to dedicate to this?
Upfront vs. ongoing cost. ROI concepts.
Will you generate fundsfrom this project; What method? Payments vs. donations. How much? When?
Hardware requirements.
Assessing existing Open Source projects
Are there any direct matches that are “good enough”?
Choosing among the matches.
What are the licensing schemes. This is the most important thing, even more important than cost in the long-term.
What is the primary programming language(s)? Quickly assessing programming languages; license, purpose, history, community, books on the shelf at “Barnes and Noble” test.
How active is the support community for the project?
How often are new releases and updates?
How serious about security are they?
Building upon an existing project- “Indirect Matches”
How close does it match your needs?
Do you have the resources to make it work?
Forking an OSS project...
Starting your own...
Comments:
Generally, open source projects are stable and do what they advertise provided that you sense an “active community” around the project.
An “inactive community”, Red Flags to watch out for:
Suddenly, no releases for a long period of time.
Look for a fork and try to find out why it happened and whether the fork is “good enough”.
“Unbalanced community”
Too many corporations and no real user base... ouutside corporations surely have no incentive to please interests like yours.
Too many volunteers and no “stakeholders”... volunteers may have no incentive to please interests like yours.
Too many educational institutions involved... college bodies may have no incentive to please interests like yours.
Too many government bodies involved... same as above. Taxpayers should be able to have ultimate control of where the money goes, but involvement is inconsistent and spotty.
Look for a balanced representation of most or all of the above communities involved in the OSS project you choose for next project .