Chapter 13. Observer Pattern

Forming a company around the creation of open source software was something that was largely unheard of a decade ago. Now, there are many successful companies who base their survival on the same open source software that they help to create. They've come up with a business model that works. Imagine what the first few hurdles were when this concept initially came out:

  • These companies wanted to keep providing open source software and not take over the code base.

  • They had licensing restrictions to worry about if they continued to work with that particular code base.

  • Their goal was to keep the community involved. They wanted to provide a vehicle to keep the existing strong group of individuals involved.

These companies possessed a great amount of talent that was familiar with the code base. Because of this, they settled on adding additional features to the application as a way to generate a profit. With each new piece of functionality that is added, however, existing users of the software should not be forced to update the full software package again. But these companies definitely didn't want to provide a forked version of the software either. Finally, it became clear: create a plugin system. That way, the company could continue to develop custom proprietary software for a profit, while encouraging other community members to contribute even more functionality via this avenue. Because of the plugin system, the end users could determine what features they ...

Get Professional PHP Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.