I have yet to find one single example of a person who has became a millionaire through the production of open source software.
Is that what you're trying to do? If so, why not use ASP? It's similar to PHP, but closed-source and you can sell your item(s).
I honestly have to say I disagree. The *nix operating system is open source. Anyone can build their own flavor of it. Yet RedHat, Novell, and Mandriva all have "commercial" versions available. Mainly what makes it commercial is the packages (Java, Adobe Acrobat, Flash) that come "pre-installed) with the core, and the support.
Now, you can make items with PHP, and sell them. It's been done. WHM Auto Pilot is a PHP program that deals with server setup (for hosting companies). Now, it's a PHP application. You have to pay a license fee with it. If your license runs out, your script is over. Their code is not viewable by just anyone. Their code is obfuscated. There are two major players in code obfuscation:
Zend SafeGuard
ionCube
Now, each requires their own engine to be installed. Since most PHP installations come with Zend installed, that's probably the best choice to start with. But you basically run your files through the obfuscator, and then generate licenses. Then when someone opens your page, you get byte-code (or something of that sort) and they can't see what your code looks like. So it's still PHP applications; however, you've reduced the possibility for people to steal your code. And you're selling your support with the application.
Honestly, you could always just "give away" your application (obfuscated) and then if they want support, they pay. Not sure if that's legal, but it's something.
Here are examples of obfuscation (ionCube examples):
Code (before obfuscation)
<?php
/* $Id: index.php,v 1.34 2002/06/29 08:13:01 swix Exp $ */
/**
* Gets core libraries and defines some variables
*/
require('./libraries/grab_globals.lib.php');
require('./libraries/common.lib.php');
// Gets the default font sizes
PMA_setFontSizes();
// Gets the host name
// loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+
if (empty($HTTP_HOST)) {
if (!empty($_ENV) && isset($_ENV['HTTP_HOST'])) {
$HTTP_HOST = $_ENV['HTTP_HOST'];
}
else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['HTTP_HOST'])) {
$HTTP_HOST = $HTTP_ENV_VARS['HTTP_HOST'];
}
else if (@getenv('HTTP_HOST')) {
$HTTP_HOST = getenv('HTTP_HOST');
}
else {
$HTTP_HOST = '';
}
}
Encoded (after obfuscation)
<?php //00364
if(!extension_loaded('ionCube Loader')){$__ln='/ioncube/ioncube_loader_'.strtolower(substr(php_uname(),0,3)).'_'.substr(phpversion(),0,3).'.so';$__rd=str_repeat('/..',substr_count($__id=realpath(ini_get('extension_dir')),'/')).dirname(__FILE__).'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__id.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file <b>'.__FILE__.'</b> is corrupted. Ensure that you use binary mode when transferring files using FTP, and disable the "TAR smart cr/lf feature" if using WinZIP');}if(function_exists('_il_exec')){return _il_exec();}die('The file <b>'.__FILE__.'</b> has been encoded with the <a href="http://ioncube.com/encoder/">ionCube PHP Encoder</a> and requires the free <a href="http://ioncube.com/loader/">ionCube PHP Loader</a> to be installed.');
?>
Á+ˆñ[Ë §Ï.%ë^*liÔÒ– xÎ㛎Ízlèól×s*=ô‰ÜŸ‹ %ŠOHÅ$}ÍðM…['T¤â\Èû0D¨Gcg’´³
That was phpMyAdmin, a free mySQL GUI application built in PHP.
There are options out there, you kind of have to look hard though. I do agree that OS Software is a touchy area because there are sooooo many licenses.
Here are some items from the PHP Manual:
Q. The Zend license says I may not charge money for stuff I sell along with Zend. Does that mean I cannot sell PHP scripts or web sites that I build?
A. No. Not at all. This clause only concerns software built around the Zend scripting engine library, not scripts that PHP executes, using that library. You are free to distribute PHP source code you write freely or commercially, without any concern about the PHP or Zend licenses. You may also package PHP as a whole with your commercial applications as much as you want. You just can't build commercial applications that use the Zend scripting engine library directly.
Q. Where can I get more information on the QPL?
A. The authors of the QPL, Troll Tech AS, have published an annotated version of the license which makes it easier to understand. You can view it online here.
Hope I helped de-muddy the water.... or am I kicking up more dirt?