- simplify existing capabilities
- add new capabilities
The first option creates a product that it’s easy to use and has the distinct benefit of having easier learning curve and can be explored to suit the capabilities of the user. The second option creates bloated software that can do anything, but its very hard to learn and to use.
A very good example of a program going the second direction is “Paint Shop Pro”
This post explains how he software gets bloated and how it has lost its appeal.
In the open source world, the reasons are different. Software is written to suit a need, to fulfill the requirements of users. If something is actually needed it can be written by the user who needs it.
If the decisions taken by the developer are not acceptable by the community, then the community can make a decision and branch the source to a different product. See the funpidgin / Carrier situation.
In my opinion, for software that does not need customization to a customer, open source solution will make a more viable product. Commercial software will need to evolve and be leaner.
For solutions that require tailoring for a customer, as SAP, open source is still in its infancy because each customer requires a lot of functionality modifications.
In the end, open source products will be much more efficient and with less bloat.
If you read this far, you should follow me on twitter here.