Click to See Complete Forum and Search --> : gazing into the crystal ball (again)


Davidc316
02-26-2006, 09:00 PM
The following are facts about my life:

* I have no formal computing qualifications
* 3 years ago I lived in a tiny one roomed council flat in a very run down area
* 3 years ago I was unemployed (and in my late 20's)
* 3 years ago, the longest amount of time I had ever held down a job was 3 months
* Two and a half years ago I was living off government pay cheques (i.e., the dole)
* Until last year I had never been on a holiday abroad (couldn't afford it)
* In the past I have cleaned toilets for a living



...then one day I spent my last 27 on a book that attempted to teach PHP in 24 hours. It took me 10 months to read the book! However, now the following statements about my life are facts...

* Today, I drive a brand new Mercedes Benz sports coupe.
* Today, I own my own flat (which has more than one room and is in a nice area!)
* Today, I have succesfully held down a job as a full time web developer for over a year and a half and have been recently promoted to the position of IT manager.
* I have also worked for the police in the IT division and have earned in exess of 100 per hour building PHP applications (both freelance and as an employee).
* Last year I went on holiday abroad twice! :)

...all of these things have came from learning PHP!

I'm not bragging. The point I'm making is that learning PHP has quite literally changed my life in more ways that I could imagine. That day, when I went into the bookstore and found myself mysteriously drawn towards the computing section, I think I could have EASILY bought a book on Cubase or Photoshop or Javascript or ...something that would not really have made much of a difference to my life. But instead, I weighed up the pros and cons and I decided that PHP would probably be a useful thing to learn for the future. I believe I was right and I'm sure many of the folks on this forum have similar stories.

However, for a variety of reasons I'm now beginning to feel as though PHP has a somewhat limited shelf life. And because there are now so many PHP developers out there (all stretching PHP to the limits), I fear that there are few people out there who will be able to enjoy the same life changing benifits that I have enjoyed from learning PHP. Three or four years ago PHP was a really hot new thing and hardly anyone knew it. Now it's still very hot, but there is an inexhaustible supply of PHP developers out there (most of them could blow me away, I'm sure), many of them willing to work for buttons or even free of charge. Indeed, I even heard recently that the rate of PHP users worldwide is increasing at a rate of 12% every month!

A recent conversation with an internet lawyer also led me to believe that open source is really not the way forward if you want to enjoy a financially fruitful career from building your own applications. For example, I've just spent the best part of 2 years building a PHP driven application (an online shop wizard) that I wanted to release as a commercial product. However, my lawyer has informed me that because it uses open source technologies (i.e., PHP), I am required by law to make the source code available to anyone and everyone who purchases my application. This means that if you spend two thousand hours building a PHP application, there's nothing you can do to stop people like me getting access to your code, tweaking it and then doing WHATEVER I WANT with it! Now, whilst I realise that it's very nice to consider ourselves part of some new noble, semi-communist community which takes pleasure out of working for free... do you really think that's fair? You may call it greedy, but I have lived in the depths of poverty for most of my life and I absolutely don't want to go back there! Not yet anyway.

For these reasons, I think the time has come where we PHP people must look into the future once again and decide what is the next hot thing to learn. With some degree of sadness, I am no longer convinced that it is PHP.

I'm beginning to think that the wisest move a PHP developer could make today would be to move away from open source technologies and consider (dare I say it!) the idea of embracing Microsoft's .NET environment as an alternative platform for building applications. In particular, I believe that any time spent learning the new language of C# would be time well spent.

Any thoughts?

laserlight
02-26-2006, 10:08 PM
A recent conversation with an internet lawyer also led me to believe that open source is really not the way forward if you want to enjoy a financially fruitful career from building your own applications.
If you're working alone, that may be true, since it is difficult for lone developers to apply the various business strategies that successful open source projects often use.

However, my lawyer has informed me that because it uses open source technologies (i.e., PHP), I am required by law to make the source code available to anyone and everyone who purchases my application.
Remember, not all open source components require that. Your lawyer probably spotted the GPL, or even a less restrictive but still reciprocal open source license.

This means that if you spend two thousand hours building a PHP application, there's nothing you can do to stop people like me getting access to your code, tweaking it and then doing WHATEVER I WANT with it!
You might want to read Eric Raymond's classic essay on the The Cathedral and the Bazaar (http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/). Open source didnt help you here (aside from helping get you started) particularly because you followed a cathedral form of development, rather than a bazaar.

Now, whilst I realise that it's very nice to consider ourselves part of some new noble, semi-communist community which takes pleasure out of working for free... do you really think that's fair? You may call it greedy, but I have lived in the depths of poverty for most of my life and I absolutely don't want to go back there! Not yet anyway.
You might want to hear what the Open Source Initiative has to say about The Open Source Case for Hackers (http://www.opensource.org/advocacy/case_for_hackers.php). Since you are running your own business, you might want to read about OSI's Open Source Case for Business (http://www.opensource.org/advocacy/case_for_business.php).

Davidc316
02-27-2006, 01:12 AM
hi,

thanks for those very interesting links. I've had a browse through most of them and intend on having a very slow and careful read later on, but based on what I've read so far I must confess that I still find the case for going open source a little weak.

Having browsed through your articles, I now understand that Open Source software is, by nature, more secure and reliable. However, I do think that Open Source does suffer from a bit of an image problem. The very first article that you pointed me to mentioned how Open Source was originially referred to as "free software". I believe there is an assumption (at least, in the business world) that the open source community is made up of a multitude of semi disorganised amateurs who program as little more than a hobby. Let's face it, most of us do not equate the word "free" with quality.

The four models (for making money out of open source) that were presented in one of the articles seemed confusing and awkward to me. It seems to be a factual statement (as far as I can tell) that the software companies who are all making money these days are companies like Microsoft, Steinberg and Macromedia (i.e., closed source). I have yet to find one single example of a person who has became a millionaire through the production of open source software.

In the past I used to view the open source scene as being at the forefront of one great idealistic crusade to rid the world of greedy commercialised capitalistic greed. It was all very exciting and noble. However, today I'm starting to see the open source community as being a financial ball and chain for thousands of pennyless developers and programmers who would otherwise be earning an honest and reasonable wage for their efforts. In my opinion, the Open Souce community have created an atmosphere in which good, decent developers are now ASHAMED to ask for a decent wage, or indeed ANY wage! Because of the Open Source community, thousands upon thousands of talented developers (some of which you'll find on this very forum) are now lacking the confidence to take the leap and earn an honest buck for their countless hours of continual hard work, so instead they'll maybe just stack shelves for Walmart. I also believe that the Open Source movement is the reason why PHP will never be regarded as being a "real" programming language among the programming elite.

I think I definitely need to do more research, but at this point in time I certainly do not feel a strong urge to be part of any Open Source community. To me, the idea of some guy in Africa getting it in his mind that he can make a good honest wage from learning how to build programs and selling them online is much more revolutionary than any argument for Open Source that I've ever heard.

Therefore, for both financial and moral reasons I would put forth the case that Open Source is not the way forward.

bpat1434
02-27-2006, 02:42 AM
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 (http://www.whmautopilot.com) 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 (http://www.zend.com/products/zend_safeguard)
ionCube (http://www.ioncube.com/)
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㛎zlls*=ܟ %OH$}M['T\0DGcg

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 (http://www.trolltech.com/licenses/qpl-annotated.html).

Hope I helped de-muddy the water.... or am I kicking up more dirt?

laserlight
02-27-2006, 03:23 AM
Having browsed through your articles, I now understand that Open Source software is, by nature, more secure and reliable.
That's not necessarily true, of course. There's the quote "given enough eyeballs, all bugs are shallow", but then you have to have those eyeballs. Just using an OSI certified open source license isnt enough.

Pair programming as used in extreme programming (XP) also satisfies the "enough eyeballs" requirement, and one does not need to use an open source license to use XP. Effectively, the bazaar is the development team (and customer team, I suppose), due to the XP idea of collective code ownership within the development team.

The four models (for making money out of open source) that were presented in one of the articles seemed confusing and awkward to me.
The "support seller" idea is that a company might make money from the distribution of software, and from things like branding and customer support. In fact, third parties can do the same, but the original company naturally has the advantage of greater knowledge of the software, especially when providing support.

The "loss leader" idea is that the software is already in the market, so the company makes its software open source in an attempt to catch up and attract customers.

It seems to be a factual statement (as far as I can tell) that the software companies who are all making money these days are companies like Microsoft, Steinberg and Macromedia (i.e., closed source).
You might note that IBM has made a fair amount of technology open source, and allowed free use of some of the company's patented technology.

In the past I used to view the open source scene as being at the forefront of one great idealistic crusade to rid the world of greedy commercialised capitalistic greed. It was all very exciting and noble.
You might be talking about the Free Software Foundation (http://www.fsf.org), which agrees with the Open Source Initiative (http://www.opensource.org) on practical implementation but disagrees on idealogy. It's a confusing world :)

Because of the Open Source community, thousands upon thousands of talented developers (some of which you'll find on this very forum) are now lacking the confidence to take the leap and earn an honest buck for their countless hours of continual hard work, so instead they'll maybe just stack shelves for Walmart.
I am still a student, thus so far whatever development work I have done is either for fun, for exploration, or to build up my resume. However, if I need to charge for development work, I dont have any qualms about doing so, even if I use open source components.

I also believe that the Open Source movement is the reason why PHP will never be regarded as being a "real" programming language among the programming elite.
I think PHP is and will be judged on its technical merits. If the open source movement is responsible, then it will only be because PHP and related tools are more accessible, so more people without sufficient skills often produce inefficient, unmaintainable PHP code.

To me, the idea of some guy in Africa getting it in his mind that he can make a good honest wage from learning how to build programs and selling them online is much more revolutionary than any argument for Open Source that I've ever heard.
There's a fair chance that this guy in Africa will sell his program on a website hosted on the open source Apache HTTP server (http://httpd.apache.org).