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.
|