I gave a talk last year at Walmart HQ about Fuse open source integration and messaging, the benefits of using open source and the benefits of contributing to the Apache Software Foundation. You can find a sanitized version on slideshare.net. I also covered the history of open source, and like all histories there is no one ‘right’ story, but I tried to distill the timeline as best I could. On the chance this may be useful to someone else I tell the story here. Are you sitting comfortably? Then I’ll begin …
The IBM 704 was the first mass produced computer with floating point arithmetic hardware and was introduced to the fledgling computer market back in 1954. IBM managed to sell a whopping 123 of these beasts between 1955 and 1960. IBM bundled these machines with free software and source code – and in 1955 the
organization SHARE was formed to allow like-minded individuals to share and swap code for the 704 machine. SHARE is the first public open source organization, and is still around today. Everything was really rosy in open source land (though not good for IBM competitors) – until in 1969 the Department of Justice filed a suit alleging that IBM was monopolizing the computer market. The suit dragged on for 13 years, but the effect of the filing was that in 1969 IBM unbundled its software from distribution with its computers. Until this point, the software was free and the source code was distributed too.
Now we diverge in to the 70′s-80′s, and the UNIX wars, which are only slightly less hard to follow than the War of the Roses – so I’ll try and distill the salient points. UNIX started its development in the 1960′s as Multics, at Bell Labs, which was then part of AT&T. Originally written in assembly language, it was ported in 1972 to the C programming language – allowing it to become more portable. AT&T were banned from selling computers and computer software – as result of an antitrust case brought back in the 1950′s. UNIX was freely licensed to Universities and educational establishments, and became the Berkley Software Distribution (BSD) – first released by University of Berkley in 1984.
On a tangent timeline, in 1983 Richard Stallman creates GNU (GNU is not UNIX) which will lead to the Free Software Foundation and the the GPL (and LGPL) licenses. Jumping back to 1984, US regulators broke up AT&T into regional telcos (the ‘baby bells’), but also allowed AT&T to enter the computing and software market, and to start selling its own distributions of AT&T UNIX, which it did aggressively. When AT&T sued Berkley in the early 90′s for license violations, the UNIX market was left in disarray. From every conflict, there is opportunity, and Linus Torvalds’ development of LINUX in 1991 started an open source fire, which ultimately led to the most successful open source company, Red Hat, coming into existence.
The Apache HTTP server started in 1994 from the requirement to maintain the old NCSA HTTP daemon. This collaboration led to the Apache Software Foundation in 1999. The biggest revolution in open source has come about through the creation of GitHub (2008) – which just narrowly gets my vote as being the most important company in open source development, primarily because it uses social networking techniques to encourage collaboration – and in just a few short years has over 1 million users and over 2 million repos. So we come full circle, with Gartner predicting that open source software will be included in mission critical software portfolios of 99% of the Global 2000 enterprises.
This guide will introduce you to the world of Software Architecture!
This 162 page guide will cover topics within the field of software architecture including: software architecture as a solution balancing the concerns of different stakeholders, quality assurance, methods to describe and evaluate architectures, the influence of architecture on reuse, and the life cycle of a system and its architecture. This guide concludes with a comparison between the professions of software architect and software engineer.