Seems a lot of the developers in the PHP community (myself included) are Open Source advocates who believe in the notion of sharing information.
A common method of information distribution is via the GPL, which states that all software which make use of the information available must in themselves be made freely available under the GPL as well.
In essence, this is a viral license since all code that makes use of the 'infected' code must be made 'infected' as well.
I mean 'infected' in the sense that the license in itself tries to force all developers who make use of code under that license to place their software under that license as well. And thus, spreads as a virus would, via contact.
Not that being 'infected' is a bad thing.
And the FSF also has the LGPL which does not require the software which makes use of a LGPL'd library to be under any license at all.
Now...
PHP is no longer under the GPL (since version 4) so code that is created with PHP is no longer needing to be applied the GPL unless the developer so chooses.
And in accordance, Zend has released the Zend Encoder and other proprietary tools to distribute PHP sources as encrypted binaries, so as to allow developers to 'close source' their work.
And thus my issue:
I've seen quite a sharply negative response towards developers who would use the Zend Encoder or other means of 'close sourcing' their work. The main reason implied seems to be that PHP developers have the notion that PHP is open source. When in fact it's not. Yes, the codebase for the PHP engine is available, but is under it's own license and that license does not cover any dirivetive works in anyway.
Personally, I am strongly toying with the idea of using the Zend Encoder on some of my projects.
Why?
Well, I took the time to spend several months creating a complete portal framework that can handle multiple sites concurrantly, limited only by the ability of the webserver. So, one copy per CPU could serve say 50 sites at once.
I beleive that this is worth some money, and I'm not eager to just throw this code out into the wild to let whoever wants to use and toy with it do so.
There are a number of reasons for this:
1) I have other applications I would like to extend it with first.
2) The software is completely customizable via .ini files and each site that uses it just creates their own extensions. So they don't need to see my code anyway, they just need the documentation on usage of the API.
3) I need to make more money off it, 2 licenses have been purchased before it's beta launch and I would like to sell a few more to ensure a profit and fund future development.
4) I would rather not see a different version of my own software competing with mine untill I have established a significant user base and more service applications.
So what do you make of this?
I'm looking for input on this subject since I've been trying to figure out a good roadmap for a GPL release, since I do at some point in time plan on opening it up and sharing the code for others to use freely via an online CVS project.
Ideas anyone?