Tuesday, October 6, 2009

Building Cathedrals (Beautiful Architecture - Chapter 12)

Having a particular interest in the many successes of Linux and KDE, this was a great chapter for highlighting some of the growing pains experienced on Open-Source projects.

Whether it be Free Software or commercially-developed, all software face technical challenges. Data is always growing and is becoming more complex. Users want easier-to-use interfaces; responsive and not overly complex interactions with software and high reliability, stability, and safety. Developers expect well-maintained APIs, clean migration paths, and functionality at the level of their day jobs.

With the Free Software development teams being so disparate and spread across the world, it is a wonder how anything was agreed upon. Communication is still key. It was recognized where most decisions made in 15-minute stand-up meetings , it may take days for each person in other hemispheres to provide their feedback or opinions.

One of the interesting aspects of the KDE community is the lack of commercial governance. Developers did not want to be influenced or pressured by executives providing funding in order to take control of the project. There are no dictators cracking whips and shouting orders to the minions in the dungeon.

It was a pleasure to read a chapter where the author does not delve too deep into the architecture and confuse the reader. The sections on the Akonadi framework and KDEPIM were very enlightening as to the various approaches considered in the software integration and architecture. A decision is never going to be perfect or the "one size fits all" choice for everyone involved. It is a guarantee applications are going to be decommissioned when something better comes along, libraries will be replaced, and interfaces will change. Software and system development is not stale. Climb aboard and be part of the innovation.

No comments:

Post a Comment