Is open source becoming like Microsoft?
Talking with Microsoft officials last week, I was surprised to hear a key reason for the company getting involved with things like optimizing Windows for PHP: it was the only way to ensure products like PHP work with Microsoft technology at all.
Even as traffic is up to Microsoft's open-source code hosting site, CodePlex, and even as it starts to release code under standard open-source licenses like Apache and openly include open-source code in its products like Powerset, the open-source world seems to be closing off somewhat.
WordPress? Written for MySQL. PHP? Same. The list goes on.
While I'm glad to see a robust and growing open-source ecosystem, and while I recognize that some decisions like this are driven by technology and not any desire to omit support for proprietary databases and application servers, I'm not as glad to see one that replicates all that I dislike about proprietary ecosystems.
One of my chief complaints about Microsoft has been that it required the use of its other products to get the full experience. Like SharePoint? Well, you're going to also have to like Windows Server, Internet Explorer, SQL Server, etc., because it requires a host of other Microsoft software to function. Microsoft has traditionally tied products together to drive lock-in. Is open source doing the same?
But now Microsoft is changing this strategy, albeit slowly. The company is starting to modularize its stack because it recognizes that it must compete in a heterogeneous IT environment. That's what this work with PHP and other open-source systems is all about (though the risk remains that Microsoft is seeking to invite open source into the Borg, and not provide an exit).
Open source should be truly open. Some open-source projects and vendors get this. Red Hat? It works with a slew of proprietary applications. SugarCRM? Run it with just about any operating system, database, application server, etc., that you could wish. And so forth.
Open source is about choice, including the choice to run open source with closed complements. Yes, sometimes the lack of proprietary complement support is a matter of resources, not intention. But to the extent that we build projects that run only with other open-source projects, and intend them to only work with open-source components, we're acting like the proprietary ecosystems that we've been trying to overcome. We shouldn't pull a Microsoft. Or, given its seemingly new direction, maybe we should.
Follow me on Twitter at mjasay.
Matt Asay brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can follow Matt on Twitter @mjasay. 





1) MS _can_ do this with PHP because nothing is hidden, it's all out in the open. They can put out their own reconfigured version of PHP designed to work best with MS SQL Server if they like.
2) MS _can_ do this because they're not forced to go to only one authorised support and maintenance source.
Try doing that with ASP.
Kay?
PHP is a language that happens to include a fair number of functions in its standard library. It is database agnostic. You can use SQLite, MySQL, PostGREs, Oracle, SAP, and more with PHP.
WordPress can easily be used with several different databases. (the first three I mentioned above do come to mind).
What's more, WP is built with PHP, thus it is inherently database agnostic.
Most interpreted languages used for web development today, Perl, PHP, Python, Ruby and more... are all database agnostic. They all have their own various libraries for talking to databases, usually using the name DBI for libs that work with SQL directly. All have libraries that do ORM like the famous ActiveRecord used by Rails in Ruby (ruby on rails).
ORMs are no different, they too tend to be well designed and fairly database agnostic.
You really should have your pay docked for writing B.S. that you did no homework on.
Open Source means the source code is available.
MySQL, SQLite, Postgres = all open source.
Other useful and reliable databases? Proprietary.
Since MS is taking steps to improve the compatibility of one of its products with an open source product, it's certainly newsworthy in my opinion.
Know nothing Matt thought PHP only supports MySQL.
Now, PHP is something MS would be interested because it might just be the worst thing not developed at MS. PHP is amateur hour.
As for apps supporting only MySQL, I prefer PostgreSQL myself, but the reality is that SQL is an imperfect standard that does not permit full interoperability, and thus supporting multiple database backends is a major engineering effort. If it wasn't in the original architecture, it's hard to retrofit. That said, I have personal experience with someone doing this - I wrote a RSS reader called Temboz that uses SQLite, someone else rewrote it to use PostgreSQL as a backend, and this is a project that has probably no more than 500 users or so. You have no such ability with proprietary software.
Go away. Haven't you embarrassed yourself enough? PHP only supports MySQL? LOL
Novell laying off 25% of its employees? LOL
Using Hibernate is the same as integrating functionality to 2 kernels? LOL
You are a clown, go away.
The_Decider: In ur glasshauses, throwing stones.
I never said that. You need to pull your head out and get things straight.
I did equate cloud computing(which is not cluster computing either) with mainframes, because that is basically what it is.
Yeah, I have written programs that run concurrently on dozens of processors, yet I don't know the difference.
You are as stupid as Matt is.
Do it with fluid dynamics, then I'll be impressed.
Now, server farms and clusters are a collection of less powerful computers suited to many non-interdependent tasks or CPU intensive tasks with little data transfer (the difference being in how they are logically arranged) while mainframes are single highly powerful computers suited to tasks with high levels of data transfer and operations which are sequentially dependent.
If you don't think that's a significant difference you've not done anything that advanced.
Just because an open source project is designed to work specifically or easily with another open source project does not make it anything like MS. The reason many developers do this is to ensure the product stays open source throughout its entire deployment.
I think its good to see MS wanting to further involve itself in the open source community even if it won't cut the cost of their next OS.
I think the reasons are more benign and simple. IT isn't a giant hatred of Microsoft so much as it is easier and cheaper for OSS projects to develop, test, support and optimize on OSS stacks for the same reason that OSS software is easier for customers to try and, ultimately, adopt.
How did most of us (kernel hackers excepted) get started with open source? The myth is that we did so with Linux. The reality is that we did so with Apache and PHP on Windows, Unix or even NetWare long before Linux on servers was as prevalent as it is now. These were tools that met a need and happened to have a different development model. The openness was secondary to our decisions. We tried them because the model allowed us to. Free until you are getting enough value to justify paying for service/support made it easy to get hooked.
Now, if the community of developers or the potential "customers" had to pay for Windows, SQL Server, MS Transaction Server, Exchange, Sharepoint, etc. in order to do development and test or to evaluate and run the OSS software, where would we be? They chose OSS stacks for a reason.
My conclusion then is that the OSS projects may show a bias towards OSS stacks but that non-OSS business models are as much a cause of this as any "proprietary" thinking or behavior from OSS communities.
Your entire point is rendered moot by the availability of source code and the licenses that apply to it.
I'll spare you the invective and just say that yes, there do exist open source projects tied at the hip to other open source projects. And yes, that can be evidence of poor design. But, and this is the all important point, there are many open source projects out there that are focused on this or that specific decoupling (such as "It's XYZ with Postgres instead of MySQL" or "it's UVW with JAVA APIs instead of C++", etc.) and these projects can exist because of open source licensing.
Open source is not about wishing away work by claiming perfect source that's infinitely scalable, flexible, and future-proof. Open source is about making it possible for any developer to do the work to make the software they need more scalable, flexible, and future proof. And that's still a big deal.
- by changopeludo February 4, 2009 3:18 PM PST
- Oh boy, you got it wrong...
- Like this Reply to this comment
-
(20 Comments)In open source source you have accessibility to the source code (open source... understand?) . Don't like to use MySQL for WordPress? you have the source code, you can make WP work with other DBMS...