Sapia Open Source

Welcome

Welcome to Sapia, yet another open-source project. Sapia is not a single project per-say; it is a virtual open-source organization that hosts different projects, each solving a specific problem, as elegantly as possible, in order to provide easy-to use, well-documented software to the developer community.

Sapia's contributors share common values with regards to software development. They have identified "good" software has having the following qualities:

  • conciseness: solving all problems at once is impossible; a lot of software available out there attempts this. The result is bloat, complexity, lack of abstraction, increased time-to-market. At Sapia, we believe that software should be lightweigth, targeted at a specific problem; complex problems are solved by subdividing them into atomic parts an applying to each part an adapted solution.
  • reusability: simplicity, good documentation, working along well-known patterns when possible... These are all principles that favor reuse; Sapia's contributors stick to them as much as possible, in order to provide software that can easily be reused by the community at large.
  • elegance: a corrollary of the above, elegance is somewhat hard to define when applied to software. As images are worth a thousand words, the following might give a better idea about what is elegant and what isn't: a class with 52 methods is not elegant; a method that returns an array of objects instead of a collection is generally not elegant; a class that fullfills a single goal and does it well is elegant - by opposition, a class that attemps to solve everything is not elegant; EJB is not elegant ;-)... Sapia's contributors strive for elegance in order to facilitate collaboration, ease software maintenance, encourage customization.