Open Source World lacks Good Web Development IDEs
Linux is considered the de-facto server based operating system. A typical Linux distribution comes with everything any web developer could have asked for: php, apache, python, perl, ruby etc. However there is one thing that Linux sorely lacks: Web Development IDEs. Sure KDE comes with Quanta, and there is BlueFish, and there used to be Nvu. Each IDE has its own strengths, for example I love coding php in Quanta, BlueFish rocks at HTML authoring, however there is so much more to web development nowadays: XML, CSS3, JavaScript to name a few. And each IDE really sucks in handling these things. Today I was coding in Javascript and Quanta kept crashing!
To just give a flavor what the open source world is up against when it comes to web development IDEs. Just have a look at the latest enhancements to the already powerful Visual Studio (not a web development IDE par se, however VS always has supported web development due to ASP). Then of course, no comparison is complete without the mention of Adobe Dreamweaver, MS Expression Designer although seen as lame in the Windows world is light years ahead of any open source web development IDE unfortunately.
So what is a Linux web developer to do? Put up with crashing, feature deficient web development applications, or get the proprietary ones and run in them in through virtualization (this is the path I'm thinking of adapting)?
My Top 10 Firefox Extensions
One of the best things I like about Firefox and hate about Internet Explorer (pre 7) was that it is a very simple browse, offers the bare minimum functionality needed to browser the Web. The recently released Internet Explorer 7 also has a very clean interface which resembles that of Firefox a great deal.
However sometimes I wish that they have included a certain feature into the browser, these wishes are mostly answered by the Firefox extensions. Designing Firefox around an extensible plug and play architecture was the best design decision in my opinion ever taken. The ease with which you can extend the browsers capabilities by just installing extensions which are normally tens of KBs big, allows Firefox to be ahead of its rivals.
Thousands of extensions have been developed, and it is time consuming to browse to the repository and find a 'must have' extension. That's why I've written this post to help you out, by highlighting those extension which have had a positive impact in my 'Firefox experience'.
The list is not numbered according to usefulness or any other measure.
1. Google Toolbar
Although a Google search box in included in Firefox by default, the Google Toolbar allows you to do more, a lot more, it gives information about the current page, spell checking for posts, allows searches in different categories ie. Maps, Froogle, etc.. And it allows a Gmail mail to be composed by a single click! It basically acts as a one-stop portal to most of Google's services.
2. SessionSaver
The SessionSaver extension allows the user to close the browser and automatically open at the same state next time. Extremely useful in many cases. I could run into blogs with interesting content, start reading them, and when I have some work todo I simply close the browser, and restart my exploration of the blogs when next time I launch Firefox; and in case you dont want people to know what you were last surfing, you can always disable it!
3. Viamatic foXpose
Often if you have too many tabs open, it gets difficult to navigate around to a required tab. foXpose is very use-full extension where a button on the status bar is clicked and thumbnail views views of current opened sites appear. Just like shown in the following image:
![]()
4. Permatabs
Another useful extension, which saves a lot of time. There are basically some sites, which I always visit, like webbased mail services, news sites, some blogs, slashdot, digg etc.. With permatabs I open all the required websites in tabs, and make them a 'permatab' which means that they will be there forever afterwards, even when Firefox or the machine is restarted.
5. FlashGot
Numerous popular download managers in Windows don't support Firefox yet, FlashGot has the answer. It allows the interoperability of Firefox with numerous external download managers. Firefox's own download mechanism is not at all suitable for downloading massive files, thus this extension provides a remedy.
6. Clusty Toolbar
This cool Firefox extension allows me to find information really quickly. When browsing a page, I may encounter something about which I'm not aware of, clusty toolbar allows me to perform a search, and cluster results from multiple search engines, and make a
7. ScrapBook
ScrapBook as the name implies allows you to have a scrap book, where you can collect clippings of snippets from websites, and categorise them and store them to the disk.
8. Del.icio.us Toolbar
Del.icio.us is perhaps the largest repository of user contributed bookmarks. When looking up a subject I nowadays increasingly go to del.icio.us and perform a tag search, and find related content immediately. The toolbar also allows me to tag websites while I'm surfing them.
9. SwitchProxy
SwitchProxy allows me to switch between normal Internet surfing and anonymous proxy surfing, or switch from proxy to proxy, this extension is esp. helpful to me because as of early this year the Pakistan government has banned the entire BlogSpot/Blogger domain, and if I come across a cool post via Slashdot or Digg, I switch proxy so that I can read it.
10. Performancing
Performancing is a blogger's extension! It allows a blogger to immediately blog from firefox without going to any specific URL, Popular blog services such as Wordpress, Blogger and others are supported.
So I hope that you discovered some new Firefox extension, and will install them to spice up your Firefox experience. I would like to here from you of other cool Firefox extensions
Linux rises as a Supercomputer Operating System, but faces hurdles in the Desktop
In Nov 1997, 99.2% of the top 500 supercomputers in the world ran Unix.
9 years afterwards, It's market share has been eroded by Linux which now runs on 73.5% of the top 500 supercomputers.
In 1998 Linux made it's debut in the Top500 List, an authoritative list of the top 500 supercomputers in the world.
After 1998, it took Linux 7 years to break the magical 50% mark. As of November 2004, it ran on 60.2% of the top 500 supercomputers, in 2006 it nearly reached the 75% mark. I believe that Linux will go all the way to completely take over Unix's user base. Both OS's run on about 94.4% of the top 500 supercomputers.
The rise of Linux has come largely at the cost of Unix. Which is discernible from the fact that both operating systems are very similar in nature, and they both are operated the same way, thus the cost of switching is minimal. Linux is an open source, stable, secure, multi-user and multitasking operating system all these factors make it ideal for a supercomputer. Supercomputer manufacturers can modify the kernel source to suite their hardware. The kernel is monolithic but has elements of microkernels in that it allows kernel modules, which make kernel development very simple.
Contrasting open source Linux with closed source Unix leads to a major observation: A lot of money is flowing into Linux these days, and Linux has a large active community which contributes to it, enhancing and making the OS better. Whereas the money flowing into Unix is stagnant. After the commercialization of Unix, the operating system has been largely in decline, I expect the decline to continue and see it as irreversible. All these factors conspired to erode Unix market share in the supercomputing world.
Linux has made remarkable progress from a hobbyists project in 1991, to the leading OS in supercomputers and server systems. Linux also has made inroads into the embedded market. Motorola has been very successful marketing Linux based smartphones, like the e680i which I personally use, and have no regrets about buying it.
One area where Linux lacks is the desktop market. Which of course Microsoft rules. There are many things which conspired to make Linux entry into the Desktop difficult! For starters: Weak GUI(KDE is great, but in my opinion increasingly getting bloated), focus on command-line based user interface(no matter how good the GUI is you always have to go back to the command-line at some stage), difficulty of managing and installing Open source software (dependency hell! Gentoo's emerge, yum, conary do a great job at resolving that). But two hurdles I think have been overlooked, that is software piracy and lack of support for Open Source! The most natural user base of an Open Source operating system would be in the Third World. Countries which can not pay for basic amenities for their populations hardly can be expected to purchase proprietary software from multi-billion dollar companies. So open source software provides them a platform with which they can compete with the developed nations. However if I look around in my own country, Pakistan, I hardly see any Linux deployments around. The Government uses MS software in its offices, businesses use MS software, the people use MS software at their homes! MS Office is taught has part of the curriculum at high school. Most of the software is of course pirated, costing about half a dollar per CD (Windows is 1 CD). Because of software piracy MS Windows and related software are ubiquitous in Pakistan. Software Piracy helps proprietary software companies more than it hurts them! Precisely it makes people dependant on their technology! No-one I know is even considering of switching to Linux because they see Windows everywhere around them, they believe using Linux would put them at a disadvantage, so they better stick to Windows, no matter how many virii they get!
Not long ago I had an instructor at university, who was a senior officer in the Pakistan Armed Forces, he happened to be the director of the Army's directorate which was responsible for the IT policy. He was a complete "Microsoft Guy". He never considered any software solution which was not from Microsoft! I once had a discussion about why his directorate was making the Army dependent on Microsoft software, and not take up the initiative of making them "independent" by indigenously customizing open source software to suit their purposes. He replied this was impossible in the current scenario! There are no companies in Pakistan which provide support for Open Source software, and the Army required heavy-duty support, which to them was only being provided by Microsoft. Indeed in Pakistan there are virtually no companies which provide support for open source software. Most universities in Pakistan are busy at churning out software professionals which are adept at Microsoft technologies, and open source figures low on their curriculum. With no support companies it is very unlikely that any enterprise will take the risk to switch to Linux.
Is Open Source Software Really Better?
What is the Open Source hype all about? Nearly every week a seminar in some part of the world is being held on Open Source technologies. Every year (at least the last 2-3 ) we are confronted with reports which state that certain open source software have increased their's market share at the expense of already established proprietary software.
Is Linux really better than Windows? Is Apache really the better web-server? Does MySQL really have what it takes for a good database engine? Is Open Source going to take over the World?
The word 'better' when applied to software is an ambiguous term. In this article the word better will mean: "A Software which has a superior performance, stability and less prone to software bugs coupled with ease of use when compared to it's equivalents and given that it satisfies user requirements"
Armed with this redefinition of the word 'better' we will seek the answers to the questions we posed.
The Origins and Heavyweights of The Open Source Movement
The Open Source movement separated from the Free Software Movement and earned a separate identity in 1998. It's sole purpose initially was "to act as a marketing strategy for Free Software". The leaders of the Open Source Movement recognized that the term 'free' in the business world is synonymous with 'free of cost' where as the term 'free' in Free Software meant 'free as in freedom, not cost', the word itself was seen as a hurdle for market acceptance of free software. Thus to present free software to the commercial world, the term Open Source was coined in order to avoid the name ambiguity problem.
The Open Source community for large parts is identical to the Free Software Community except for it's inclination towards commercialization, whereas the latter is concerned with ethical reasons for usage of the software. The most renowned Open Source evangelists are Eric Raymond, Bruce Perens, and Tim O'Reilly. In order to provide Free Software better marketing. They formed the Open Source Initiative (OSI) to
* promote the pragmatic benefits to the business community, and
* certify free/open source licenses that meet the Open Source Definition.
One of the earliest success of the Open Source movement was On January 22nd, 1998, when Netscape announced that it would open the source code for Netscape Navigator 5.0. Their announcement gave the free/open source software community a great boost in credibility in the eyes of business community.
Open Source Initiative's evangelism paid off. Following Netscape's announcement, several additional vendors announced support for Linux, including Oracle, IBM, and Corel. Intel and Netscape invested in Red Hat, the largest English language Linux distributor. Novell in a change of business strategy bought the German Linux Distribution SuSE, and various other Linux-related firms including Ximian to make a niche for itself in the Linux World.
Since the founding of OSI, numerous Open Source support organizations have been formed, one of the latest one is the Open Source Development Labs, founded by a consortium consisting of Industry Heavyweights such as IBM, Sun, Intel, Oracle, Corel, Novell, RedHat. The OSDL is the single largest non-profit organization supporting Open Source Development, and is located in Portland, USA. More significantly, many large corporations are now migrating to open source. Earlier this year, the European arm of automobile giant Ford decided to ditch Microsoft as its desktop operating systems provider and move to open source. Likewise in June, the U.S. Defense Information Systems Agency announced that it plans to standardize with StarOffice.
What's different in Open Source software
As mentioned that the Open Source movement was conceived from the Free Software movement. The Free Software movement itself has its roots in the "hacker" culture of U.S. computer science laboratories ( at Berkeley, Carnegie Mellon, and MIT) in the 1960's and 1970's.
This community came to an end par se in the 1980s when commercial companies hired away most of the staff in the U.S. computer science laboratories. The companies protected their source code with special 'non-disclosure agreements' where the programmers didn't't own their code but the company owned it and they were obliged to not discuss or show it to anyone.
Richard Stallman, a programmer at the MIT's AI-Lab, revolted against this new-order which had destroyed the hacker-culture, by starting the GNU project which's aim was to produce a "Free" Operating System. The GNU project reinvigorated the hacker-culture, an they became united in Stallman's pursuit.
The GNU project spawned and entire software development methodology based on hacker ethics:
The community of programmers was closely-knitted. Code passed back and forth between the members of the community--if you made an improvement you were expected to submit your code to the community of developers. To withhold code was considered gauche--after all, you benefited from the work of your friends, you should return the favor.
With this methodology an entire Operating System, and it's accompanying application was built that operating system is called GNU/Linux. After the successful development of the operating system, an entire new array of application dawned. Open Source scripting languages like PERL, PHP were built, Open Source Web-server known as Apache was built, Database Suites, security tools, desktop multimedia applications etc.
Currently Open Source has a respectable and vast array of software to offer, and most of it at virtually no cost, but is it really better?
Yes and no, most people think!
Yes, because of the particular way these software are developed, where a multitude of people have access to the source code, and multiple programmers are contributing. Very few software companies can attract such a pool of talent as a single open source project can. In Sourceforge.net, the largest repository of Free/Open Source software, the average number of developers per application is 10, but the big open source applications such as the Linux kernel, Apache, MySQL have more than hundreds of people working on them.
Because of co-operating between working developers the time to release the software is reduced, bugs are spotted by end-users. It's a way that many individuals can collaborate on a product that none of them could achieve alone. It's the rapid bug-fixes and the changes that the user asks for, done to the user's own schedule. Another benefit of open source software is that the software can be customized by the user according to his or her requirements as the source code is freely available and there is no restriction in changing it and customizing for oneself.
Proprietary software such as the ones developed by Microsoft. Allow access to source code to only a few programmer which have exclusive rights to develop, maintain and debug the software. Source code of the software is thus hidden from the users and the users only receive the executable binaries. These software are generally general-purpose to achieve the maximum user-base, and thus are not customized for individual requirements, this leads to the user adjusting himself to the software instead of adjusting the software to his requirements, which is impractical in some cases.
Open source development methodology also leads to a more reliable software. Where-as proprietary software are released only to a minor community of pre-selected beta testers, open source software are tested by thousands and thousands of people before a concrete version is released, often open source development cycles produce software at speeds that even software giants face difficulty compete with.
The open-source model also means increased security; because code is in the public view it will be exposed to extreme scrutiny, with problems being found and fixed instead of being kept secret until the wrong person discovers them. Thus this leads to a more reliable software.
However the problem with most of open source software is that it's not easy to use, most open source software was made for fellow 'hackers' not for the normal user as a consequence generally higher level of technical knowledge required to install and maintain open source software. This is certainly an obstacle to wider adoption of open source software. However distributors like Red Hat and Mandrake have begun to offer user-friendly shrink-wrapped installations of Linux. But users who migrate to open source applications still face a steep learning curve.
For this reason, the implementation of open source solutions today tends to be restricted to infrastructure and other "invisible" applications such as servers, where techies are responsible for their installation and management. Currently, for instance, around 60 percent of the world's Web sites run on Apache.
Open source software also have terrible user documentations. A couple of years ago only sources of applications where available with little, if any, installations instructions. This situation was a consequence of the fact that only technical people used to use the software, thus developers rarely cared for documentation. Now fortunately the situation has improved. The Linux Documentation Project is a project dedicated to produce How-Tos, FAQs and Tutorials for users of Linux systems, covering topics has diverse as Artificial Intelligence programming in Linux to how to upgrade you Hard Disk. Open source developers now often maintain 'wikis' (which resemble blogging sites) where user of the software make contributions and these wikis act as a knowledge base for users of the software, often these wikis take the role of user-documentation.
Another major problem with open source software is that since their source codes are freely available, proprietary software companies can study the methods used and if they find a method which has already been 'patented', they can pursue legal action against the project. This often leads to destruction of the entire project, since no one takes responsibility. Software patents are a serious and are adversely affecting software development across the world.
However help on this front is on the way. Bruce Perens, open source evangelist and leader of the famous Debi an GNU/Linux distribution founded the Open Source Securities which sells legal protection to users (mostly mid-level companies) of open source software.
So does open Source software qualify for the "better software title"? Depends for whom you are answering! Although open source software matches most of the criteria we set, it still misses somewhat the mark when it comes to usage, which mainly affects the desktop users, however the technical users may regard open source software as the superior platform, that's why desktop users have been so far shy to adopt open source software whereas technical ones are porting to open source in droves. However since usage is improving with the advent of GUI environments for Linux, and graphical front ends to nearly every open source program, we can say that open source software are improving to match their proprietary counterparts especially on desktop, whereas in the back-office, open source technology has mostly already taken over.
The Future of Open Source
Although Open source software is considered to be more secure and less vulnerable to the many viruses now circulating on the Internet, this is not the reason why everyone is porting to Open Source: The most compelling feature is that, although there may be some distribution and setup costs, open source software is essentially free, Open Source is a way to avoid millions of license costs which would come with proprietary software deployment.
The ultimate test of open source will doubtless lie in its ability to become more user-friendly and to capture the desktop. But this will be an uphill struggle. Today Microsoft has a 95-percent monopoly of the PC operating system market, a 96-percent share of the office applications suite business, and an 84-percent share of the browser market.
On the positive side, there are new GUI-like desktop environments available for Linux PCs, including KDE and GNOME. And Microsoft's competitors are working hard to provide open source alternatives to mainstream applications, such as OpenOffice, which is derived from Sun's StarOffice and is emerging as an open source competition to Microsoft Office. There are also Linux versions of Netscape browser, and its celebrated derivative, FireFox.
Resources:
Open Source Initiative
http://www.osi.org
Free Software Foundation
http://www.fsf.org
Open Source Development Labs
http://www.osdl.org
GNU Project
http://www.gnu.org
Linux Documentation Project
http://www.tldp.org
digg_url = "http://digg.com/linux_unix/Is_Open_Source_Software_really_better";

