Wednesday, November 08, 2006

Cost of Using PHP !!!!!!

I’m not any kind of programming language zealot/fanboy - syntax is pretty much irrelevant; each to their own.

But I’ve been thinking about the bigger picture of choosing a language, from the business perspective. Sure, most languages can do the same thing, give or take. But what other (non-syntax) issues are there that can influence the ‘cost’ of adopting one language over another?

We use a mixture of languages (the best tool for the job), but I’m personally a fan of PHP, and have used it religiously for 6 or 7 years. So here are my initial thoughts on the cost of using PHP, based on this experience. I haven’t really elaborated on them, but you get the idea. What have I missed out? Do any of these make sense?

  • Recruitment. This one’s probably the most controversial. I think there’s more ‘chaff’ to filter through when recruiting/advertising for PHP developers. You could spin this into a positive, and call it ‘more choice’. But - compared to, say, advertising for a Ruby or J2EE developer, I’ve found that there are more ‘designers’ who think they can develop because they’ve written a random image function in PHP. And filtering through CVs costs money.
  • Recruitment. Conversely, this low barrier of entry (and cost) means that kids start using it when they’re young. So, arguably, an application from a 23 year old PHP developer is often better (at least, more experienced) than an application from a 23 year old VB developer. Some might elaborate on this (he says, in fear of being flamed) and propose that those people who are born developers - the best, 10x achieving people - are more likely to use PHP (or similar; Ruby, Python, Perl) over, say ASP, as they will have started programming at an early age, when their interest was first piqued. If you are 12, 13 years old and you want to start programming, it’s a lot easier to get up and running (and experimenting/learning) with PHP than ASP.NET/Visual Studio.
  • Windows. Like it or not, there are a lot of Windows boxes out there. We probably install an equal amount of our software on Windows and Linux servers. But the PHP development effort have (until recently) not taken Windows too seriously, which does increase our cost of using it in Windows environments (lack of ISAPI support was a real downer for a long time). Consistent, cross platform support is a real plus for many languages.
  • Maintenance/Debugging/IDEs. The majority of most large-scale software development effort is through maintenance. PHP has had (in the not-too-distant past) a lack of good quality debugging support (OK, there are some, but they aren’t as good as many other languages) and error handling features (e.g. Exceptions, until recently).
  • Market Perception. This shouldn’t be under-estimated. In our market, the majority of our competitors throw around terms like ‘J2EE’ and ‘.NET’ and all other kinds of frameworks. Big business loves these - they’ve heard of them, they’re trusted, they are low risk. So a PHP solution is often seen as the ‘open source’ or lesser solution, unable to contend with these big frameworks. This adds to the ‘cost’ in lost sales. I think Zend/PHP are now starting to take this very seriously.
  • Standards/Speed of change/Backwards compatibility. I’ll lump these in together, and just cite one example - XML support. Incredibly important for many web based systems, and hence you’d think it would be an important part of PHP? It was quite slow in coming, it changed over many versions, and didn’t have backwards compatibility with the earlier functions! That all adds up to extra costs (lost opportunities and additional maintenance). I’d still argue that there are some important XML features missing (I know, I know - I should shut up and develop them myself…)
  • Richness. I’m getting a bit close to the ’syntax’ thing here, but one of PHP’s killer attributes is the richness of the language - the sheer number and flexibility of its native functions and extensions. Want to do just about anything with an array? Sure, there’s probably a single function for it. Dynamically create PDFs, Images, or anything else? Yup, a couple of extra lines. This is where PHP has real value - in RAD/Agile environments.

This sounds more negative than I imagined it would have. It’s not meant to be - I’m very happy with the progress PHP has made over the last few years (finally, native Unicode support is coming!).


Microsoft Starts to "Get" Open Source

Those who believe that Microsoft only pays lip service to Open Source may be surprised by the mega-deal Microsoft just signed with Novell, which shows that Microsoft has finally decided to come to terms with Linux.

The Novell deal is exceptionally complicated, and spans legal, technical and financial issues. But the upshot is this: There should be better interoperability between Linux and Windows as a result of it.

A lot of money will change hands. Microsoft will be paying $240 million to Novell for SUSE Linux Enterprise Server subscription certificates, for example, for Microsoft customers who want to use Linux in Windows environments. That will cover support and maintenance for Novell’s SuSE Linux Enterprise Server.

Separately, Microsoft has also launched an Open Source lab, for testing interoperability between Open Source and Windows.

So the days of a siege mentality at Microsoft when it comes to Linux and Open Source are clearly over. The real winners here are users.


Open-source !!!! Where's the money?

Open source has plenty of supporters -- among them venture capitalists who view the software as a disruptive technology with huge potential. But that doesn't mean they're about to throw cash at open-source startups as they did at new companies during the dot-com rush.

Venture capitalists have learned some tough lessons from the dot-com meltdown and, not surprisingly, asked some tough questions at an event near Berlin on Tuesday.

Eran Davidson, president and chief executive officer of Hasso Plattner Ventures Management, had five questions, which permeated debate throughout the one-day Open Source Forum in Potsdam, Germany. As Davidson pointed out to the more than 100 people attending the forum, if startups struggle to answer these questions, venture capitalists will struggle to cough up money.

At the top of his list was the question: Can startups design open-source software products for non-IT people to use?

Yes, and they must, according to Don Wight, vice president of worldwide field operations at open-source business intelligence software vendor JasperSoft. "Software design is crucial," he said. "You need to put an easy front-end on your software to make it appealing to normal users, like accountants. You need to make it stick like glue."

Davidson's second question -- Can startups get their intellectual property rights in order? -- drew a quick response from experts in the audience: If they don't, they could face some messy litigation down the road.

"Hire a lawyer early to get the licensing issue right from the very start," warned Rafael Laguna de la Vera, chairman of open-source collaboration provider Open-Xchange.

Till Kreutzer, a lawyer at the Office for Information Law and Expertise who specializes in open-source copyrights and licensing, pointed to a German developer with three patents for open-source code embedded in numerous routing products who has successfully won patent infringement lawsuits in court. This is the type of developer who, if ignored, could trip up a great business model, Kreutzer said.

Speaking about business models, that was Davidson's third question: Can startups show a valid business case?

It's tough when the product is essentially free, acknowledged Wight. "I can't speak for Europe but in Silicon Valley, if you don't have a commercial open-source strategy, you don't have much of a chance with venture capitalists," he said.

Like many open-source startups, JasperSoft offers a "community" product, which is free, and a commercial "pro" offering. "With the community product, we're not only giving something back to the open-source community but also giving potential customers an opportunity to try our software with no strings attached," Wight said. "With the commercial product, we have a dual-license revenue mode."

Davidson's fourth question was marketing driven: Can startups differentiate their products, especially from proprietary software?

Product differentiation is always a challenge but particularly so in the open-source community where most or all of the code is accessible to everyone, according to Wight. "There is always a risk of people seeing what you're doing and copying some of ideas," he said.

That's why many startups choose to combine open-source software with proprietary software, and then carve out their niche, for instance by targeting smaller companies with a less complex and costly product, as JasperSoft is doing with its open-source business intelligence software, Wight said.

But the mix of open-source and in-house proprietary software also raises the issue of how open a company that labels itself open source really is, according to Charles Nicholls, founder and chief executive officer of business intelligence vendor SeeWhy Software. "This is a debate we're having constantly in our company," he said.

The fifth question that Davidson posed -- Can startups keep the open-source spirit alive while striving to make money? -- drew an answer from IBM, one of the world's largest IT companies and also a major contributor to the open-source community.

Money talks, conceded Adam Jollans, open-source software strategy manager at IBM, but the good thing is, not all developers are listening.

"Engineers aren't always after money," Jollans said. "Many of them want peer group recognition, which the open-source community provides. Community recognition is a huge motivating factor; industry won't be able to choke this."

The one-day Open Source Forum was hosted by the Hasso Plattner Institute for Software Systems Engineering in Potsdam, together with IBM and Deutsche Telekom.