-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the sponge wiki!
The idea behind Project Sponge is to provide some tools to measure an OSS project’s vitality. The concept I will use is similar to an APGAR test when a baby is born. An APGAR test checks the vitals several times after the birth (at birth, and then throughout the next hour or two of life). For an OSS project, you should be checking what I will call the Project Vitality: The vital stats and data showing how well an OSS project is doing at a given point in time. Since Project Vitality can be a relative measure, it is important to be able to compare the Project Vitality to past measurements. The Vitality Dashboard is the visual report of Project Vitality over time. This is targeted at OSS project leads, and specifically, to help commercial open source types to justify the open source approach to management by promises to track progress using some reasonable metrics for success and signs of life. Ideally, sponge can evolve into a sort of OSS Project Analytics tool.
Put some info here about some of the vitality measures that exist today. Also, list what not to do.
Version 1.0
- Ease of Use
- Doesn’t rely on anything other than the core language used to write it
- Simple to run, just type in the name of the main script
- Data Gathering
- Gather data needed for each component of Vitaility Rating
- Compute Vitality Rating
- Currently only supports configuration for one project
- Reporting
- Generate a text report to stdout
- Generate a persistent report in a DB
- Generate a text report to a .txt file
- Generate a PDF report
- Interoperability
- Supports Github projects
- Supports famous bug tracker X (probably bugzilla)
- Supports freshmeat.net project metadata
- Supports Google page rank calculation
- Checks amazon for any books on the topic
- Supports famous forum (Nabble? MarkSpace?)
- Supports search of scientific commons
- Support search of blogs
- Support search of wikipedia
- Supports google analytics
- Extensibility
- None at the moment. Review best approach for supporting extensions to address interoperability at a later release
- Scalability
- Can run from a desktop or old pentium server without issues
- Doesn’t run out of memory
- Doesn’t fill up the disk
- Performance
- Runs for no more than a day
- if it runs longer, time for a parallel processing approach to asynchronously collect the data
- Security
- Doesn’t appear as a DoS attack on any server’s radars
- Should not introduce any vulnerabilities by giving away deployment specific server information
Should be a self contained script that can be run as a cron process on your own secure server and then generate a report as HTML or PDF. Need to flesh this out.
The Sponge will initially just support Python 2.5.x+. Once I nail down the techniques we’ll need, I may consider some other interesting language that might be better suited for this task. For now, Python seems to have the advantages of (1) familiarity (2) wide support on most platforms (3) great libraries available to assist in the task (4) it’s not ruby, so therefore totally uncool. I hate cool (says grouchy smurf). Seriously, this being cool stuff has to stop. I don’t see a reason this won’t work well across platforms (Win32, *nix, Mac *x). I might try the same in Lua after a 1.0 is ready to see just why I should switch to using Lua for my general purpose prototyping language.
In Development