Open source ain't what it used to be. It's both more and less.
On the "more" side of the equation, let's start with a big number: 19,000. According to Black Duck Software, that's the approximate number of open source [1] projects started in 2009. As Peter Vescuso of Black Duck told me, "While the economy and IT budgets were declining, the open source community was busy coding."
[ For ongoing coverage of open source issues, visit Savio Rodrigues' blog, Open Sources [2]. | And stay up to speed with the open source community with InfoWorld's Technology: Open Source newsletter [3]. ]
At the same time, "the tag 'open source' is no longer cool, nor is it a differentiator in itself," says Michael Skok of North Bridge Venture Partners. Instead, Skok says, the emphasis is on real ROI and payback, which has had the effect of making open source a "mainstream, reliable, de facto part of the landscape."
So if open source has gone from show horse to workhorse, what are all those developers working on? Certainly a diminished percentage work for healthy open source software vendors, where the old-fashioned business model -- give away the code and make money on support -- isn't doing so hot. "The vendors who are scaling have more ways of making money," says Skok, such as the extensive professional services and consulting offered by Red Hat.
But the real open source explosion, says Black Duck CEO Tim Yeaton, is in enterprise app dev [4]. Rather than code from scratch, enterprise developers are collaborating across company boundaries to develop components that can be shared under open licenses. "They're co-mingling third-party open source code with their own development," Yeaton says. Black Duck estimates that in the United States alone, the potential to offset enterprise app dev spending through the use of open source code amounts to $17 billion.
Skok dubs this use of open source "entersource," which he sees chiefly as a means for collaborative development. "Very few of these projects will reach the critical mass required to create a company," he observes, adding that, "a good product doesn't make a good open source project." In fact, he says, it's the reverse: You need a community first -- and then a project to serve that community.
Obviously, community around mobile [5] is big enough to foster all kinds of projects; Black Duck counted 224 new projects for Android [6] alone in 2009. I was surprised to learn, however, that the health care vertical has a grand total of 800 active projects. And government is embracing open source to an unprecedented degree, to the point where some see open source as essential to open government.
If you ask me, though, analytics has become one of the most exciting open source areas of all. This January, InfoWorld gave Apache Hadoop [7] a Technology of the Year Award [8], because it opens the possibility of running huge analytics calculations with petabytes of data on commodity hardware. With Hadoop and open source NoSQL databases [9] that vastly reduce processing times, we are on the brink of something game changing, where analytics that once required highly specialized knowledge -- plus expensive hardware and software -- will become available to a much wider range of knowledge workers.
Very likely, much of that processing will occur in the cloud [10], offered as a service to those who don't need to run such monster calculations 24/7. In fact, the cloud itself has become entangled with open source in two ways. First, multitenanted open source stacks have become the default software underlying SaaS (software as a service) [11] offerings. And second, the open APIs offered by the likes of Google, Amazon, et al. are now considered by many to be open source. That seems like a bit of a stretch to me (Google Maps API, open source?), but many in the industry seem to accept this redefinition.
So there you have it: The bottom has dropped out of venture funding and many open source software companies are struggling, yet open source is proliferating to a degree no one would have believed a few years ago -- especially when you take into account the major open source offerings of IBM, Oracle, and yes, even Microsoft.
This article, "Open source: Less profit, more fun [12]," originally appeared at InfoWorld.com [13]. Read more of Eric Knorr's Modernizing IT blog [14] and follow the latest developments in open source [15] at InfoWorld.com.



It may be a little early to say this, but to me it seems like Microsoft took all the disappointment and fear resulting from Apple’s dominance of the mobile devices category over its own products through the years and used that energy to create
Gartner's 

As we move closer to the iPad's release date, more information is becoming available regarding 3rd-party content. Just this week, an internal memo from Condé Nast
By John Ott and Eric Freese, Aptara
Detect iPhones and iPods using Javascript
When developing for the iPhone and the iPod Touch, the first thing we have to do is obviously detect it, so we can apply specific code or styles to it. The following code snippets will detect iPhones and iPods using Javascript, and redirect those users to an iPhone specific page.
1.if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {2.if(document.cookie.indexOf("iphone_redirect=false") == -1) {3.window.location ="http://m.espn.go.com/wireless/?iphone&;i=COMR";4.}5.}Source: http://davidwalsh.name/detect-iphone
Detect iPhones and iPods using PHP
Although the previous snippet works great, Javascript can be disabled on the iPhone. For this reason, you may prefer to use PHP in order to detect iPhones and iPods touch.
1.if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') ||strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {2.header('Location: http://yoursite.com/iphone');3.exit();4.}Source: http://davidwalsh.name/detect-iphone
Set iPhone width as the viewport
How many times did you load a website in your iPhone and it just looked like a thumbnail? The reason of this is that the developer forgot to define the viewport (or didn’t know it existed). The width=device-width statement allows you to define the document width as being the same than the width of the iPhone screen. The two other statements are preventing the page from being scaled, which is useful if you’re developing an iPhone-only website. Otherwise, you can remove those statements.
Defining a viewport is easy: Just insert the following meta in the head section of your html document.
1.<metaname="viewport"content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">Source: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/
Insert an iPhone specific icon
When a user adds your page to the home screen, the iPhone will automatically use a screenshot of your website as an icon. But you can provide your own icon, which is definitely better.
Defining a custom iPhone icon is easy: Simply paste the following in the head section of your html document. The image should be 57px by 57px in .png format. You do not need to add the shine or corners, as the iPhone will do that for you automatically.
1.<rel="apple-touch-icon"href="images/template/engage.png"/>Source: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/
Prevent Safari from adjusting text size on rotate
When you rotate the iPhone, Safari adjust text size. If for some reason you’d like to prevent this effect, simply use the following CSS declaration. It has to be inserted in your CSS file.
The -webkit-text-size-adjust is a webkit-only CSS property that allow you to control text adjustment.
1.html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6{2.-webkit-text-size-adjust:none;3.}Source: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/
Detect iPhone orientation
Due to the fact that the iPhone allow its users to view a page in both portrait and landscape modes, you may need to be able to detect in which mode the document is being read.
This handy javascript function will detect the current iPhone orientation and will apply a specific CSS class so you can style it your way. Note that in this example, the CSS class is added to the page_wrapper ID. Replace it by the desired ID name (See line 24).
01.window.onload =functioninitialLoad() {02.updateOrientation();03.}04.05.functionupdateOrientation(){06.varcontentType ="show_";07.switch(window.orientation){08.case0:09.contentType +="normal";10.break;11.12.case-90:13.contentType +="right";14.break;15.16.case90:17.contentType +="left";18.break;19.20.case180:21.contentType +="flipped";22.break;23.}24.document.getElementById("page_wrapper").setAttribute("class", contentType);25.}Source: http://www.engageinteractive.co.uk/blog/2008/06/19/tutorial-building-a-website-for-the-iphone/
Apply CSS styles to iPhones/iPods only
Browser sniffing can be useful, but for many reasons it isn’t the best practice to detect a browser. If you’re looking for a cleaner way to apply CSS styles to the iPhone only, you should use th following. It has to be pasted on your regular CSS file.
1.@mediascreenand (max-device-width:480px){2./* All iPhone only CSS goes here */3.}Source: http://csswizardry.com/2010/01/iphone-css-tips-for-building-iphone-websites/
Automatically re-size images for iPhones
On recent websites, most images are above 480 pixels wide. Due to the iPhone small size, there’s a strong chance that images will break out of the wrapper area.
Using the following CSS code, you’ll be able to automatically re-size the website images to 100%. As the device max width is 480px, images will never be wider.
1.@mediascreenand (max-device-width:480px){2.img{3.max-width:100%;4.height:auto;5.}6.}Source: http://csswizardry.com/2010/01/iphone-css-tips-for-building-iphone-websites/
Hide toolbar by default
On a small screen such as the iPhone screen, a toolbar is useful but also wastes a lot of space. If you’d like to hide Safari toolbar by default when an iPhone visitor open your website, just implement the following javascript code.
1.window.addEventListener('load',function() {2.setTimeout(scrollTo, 0, 0, 1);3.},false);Source: http://articles.sitepoint.com/article/iphone-development-12-tips/2
Make use of special links
Do you remember those “mailto” link that were very popular some years ago? This prefix automatically open the default email client used by the person who clicked on it. The iPhone has introduced two similar prefixes, tel and sms, which allows the person who clicked on it to phone or text automatically.
I’m definitely not a fan of those, but maybe that will be useful to you. The only thing you have to do to implement this, is to paste the following anywhere on your html page.
1.<ahref="tel:12345678900">Call me</a>2.<ahref="sms:12345678900">Send me a text</a>Source: http://articles.sitepoint.com/article/iphone-development-12-tips/3
Simulate :hover pseudo class
As no one is using a mouse on the iPhone, the :hover CSS pseudo class isn’t used. Though, using some Javascript you can simulate the :hover pseudo class when the user will have his finger on a link.
1.varmyLinks = document.getElementsByTagName('a');2.for(vari = 0; i < myLinks.length; i++){3.myLinks[i].addEventListener('touchstart',function(){this.className ="hover";},false);4.myLinks[i].addEventListener('touchend',function(){this.className ="";},false);5.}Once you added the code above to your document, you can start css styling:
1.a:hover, a.hover {2./* whatever your hover effect is */3.}Source: http://www.evotech.net/blog/2008/12/hover-pseudoclass-for-the-iphone/