Ok, as soon as someone asks "what is good about PHP?" 90% of people immediately say because its opensource and free. The free bit I agree with but the opensource bit I think needs more exploring. Yes, opensource scripts/ applications are good but these are not exclusive to PHP, they are just as common in many of the languages/ frameworks that are closed source. So what advantage, that everyone always states, is there to PHP itself being opensource (not scripts written in it)? I dont think I have ever heard one developer talking on here about going into the PHP engine itself and modifying the code (not configurations) to take advantage of its opensource nature. Is it actually a case that the 90% of people that claim PHP is best because its opensource are just chanting back what they've heard others saying in a cultish way without realising they don't know what they're talking about?
I think the advantages are the same as with any OSS application/language. A few reasons I can think of: Bugs are quite often are fixed faster in OSS software. You can also fix the bug yourself if you really need it fixed fast and submit the fix to the project. If a company behind a closed source language/framework goes bankrupt that might be the end of it. With OSS if anyone wants to take it over they can freely. You can check PHP isn't doing anything bad like sending data back to company that made it, backdoors, ect. by looking at the code. With more people looking at the code they will hopefully spot security holes before anyone can attack them. If you ever grow to be a really large company and need to tweak things specifically to your application you can.
I think you're absolutely right. And you just have destroyed one myth that lived in my head. Since today if somebody will ask me about PHP advantages, i will answer only:"It is FREE!!!" )))
I do think that's the case and most people are like that but you can't conclude that they're wrong. PHP being open-source is one of the main reasons that it has succeeded like it has but not the only one. As you yourself mentioned it, this has 2 dimensions to it: The first is the fact that most products made with php are mostly(but not always) open-source. Yes many of other languages have this and this is not exclusive to PHP but in the web the two dominating languages are PHP(from the OS community) and ASP(from Microsoft). And we all know that Microsoft is not a fan of open-source business-model and products. You might argue that there are other languages that do support OS applications on the web like say Perl. This is where the other features of PHP come to play a part. PHP is very newbie friendly and this attracts people to it and after a while that they learn the basics PHP still has very powerful features to offer to it's advanced users. The second is PHP being open-source itself. I usually hand pick every module in my PC and assemble it and haven't heard of that many people who do but that doesn't render the whole principle useless! the reason you haven't heard of that many developers modifying the php engine itself is (I'm assuming) that you've been talking to php developers(people who code in php). but the people who code the PHP engine do so in C language! So what i'm trying to say is that you having or having not heard of someone modifying the php engine, with all due respect, is simply irrelevant. To realize why PHP benefits from being open-source you need to understand the open-source philosophy, the motive behind it and it's business-model. This is a very broad and big topic to discuss so I'll introduce a simple concept. Take the Linux Vs. Windows argument. In Linux if you don't like something you can simply(well, it's not that simple for everyone!) take anyone of them and make your own Linux and this is why there are so many distros like Debian, Fedora, Ubuntu, Suse, Gentoo and so on. Each of these distros represent a certain set of needs. One's good for server, the other for personal desktops. Now not everyone can code their own operating systems but keep in mind that Linux is made by a "community" and Windows by a "company". Which of those do you believe will be more open to developing features to match your needs? the community that it's purpose is to grow, help and share or a company that has to deal with share-holders and such! Now back to the PHP vs. ASP example. think of a situation where a bug is discovered. first discovering a bug is easier when the application is OS. secondly say you'll find a bug in PHP the first option is to fix it yourself and let others know how. if you don't know how, you'll let the community know and someone who's available will try to fix it ASAP. but in ASP you'll have to wait for the next release(whenever that is) to get your system secure. To make a final point open-source software are made on a basis of what's needed right now and how can we improve this piece of software and the commercial ones are made on how we can make the most cash from this! I can go on and on about this if you want but I think that's enough reading for one post!
If its open source, the developers aren't interested in making money from it, instead they are interested in making a good product for everyone to use. Also there are more people that can get involved, sharing experience from different areas. Open Source = Win
So you believe that Oracle/ Sun that now own MySQL aren't interested in making any money from it? It is false to think that opensource cannot be significantly revenue generating
Open-source can generate a very good revenue if done right. But it does not set money as the ultimate goal. And even if it did, by making the source available to all it manages to redeem itself for it's shortcomings by allowing you to learn from and in most cases build upon what they've created!
You are talking to the wrong people. Many many languages are opensource (and free). PHP rules on the web because it is simple (so, many people can learn it) and powerful enough to handle heavy weight applications. The PHP core and extensions are in C. Don't assume that PHP programmers know C.
Im not assuming anything, just saying I have never head one "php developer" here talking about amending the core despite many of the claiming PHP is best because they can amend the core (paraphrasing of cause, what most mean is that scripts are opensource not the scripting language itself but it is what they actually say)
But what you're saying doesn't make any sense! It's like saying: "Im not assuming anything, just saying I have never head one "Ferrari driver" here talking about amending the "Ferrari Engine" despite many of the claiming Ferrari is best". The people who code in php (drive it) are different from the ones who make it(Ferrari manufactures)!
But 100% of Ferrari drivers can claim the engine is the best because they do use it when they drive it. On the flip side, 99.9% of the PHP coders that claim PHP is best because you can change the core never do, or even consider it. It would be more like all the British Ferrari drivers saying Ferrari is best because there is 0% import duty in Brunei on Ferrari cars as there is an equally low chance of them actually using the benefit.
Look at how many great apps/systems that are built on PHP...Wordpress, Joomla, Drupal, facebook, vBulletin...and how big the communities are behind these systems. The support are tremendous.
Its more so I believe because there is so much information and examples on PHP that can be found on the web - it has become the un"official" web development language. + It gives you a nice feel to work with if your coming your coming from client side programming after coding in C languages or similar. Also, PHP is very simple and easy for new comers to learn.
It is just because php gained popularity among the masses. Reason, it is a home-made and natural language, simple and easy to learn. Even though i down even know the syntax of php, i can still read so many how tos and edit the stuff myself than hire a freelancer.
Bugfixes, upgrades and development of newer features, etc at such a fast rate is possible due to being open-source. I love open-source content as it is free and I can tailor it to my needs. The only thing a developer asks for is a small amount of donation(if possible) !!! Open-source is the best.