There seem to be two camps of open source development. In one camp are the Linux folks who are building an open source OS, drivers and related software. In the other camp are the open source web based technologies building Apache, PHP, MySQL and other related web tools.
The way people develop a desktop Linux application has nothing to do with the way that people construct web applications. This is a shame because it's really a lost opportunity. The one place where Linux is really strong is on the server. In fact there are lots of developers who can build fairly complex web-based database applications but wouldn't know where to start if they needed to build a simple 'desktop' application.
Windows and OSX stop at gadgets and widgets for small web-connected ancillary applications. It doesn't have to stop there. Why isn't there unity in the methodologies of open source development?