Open Source
"Open source is a set of principles and practices that promote access to the design and production of goods and knowledge. The term is most commonly applied to the source code of software that is available to the general public with relaxed or non-existent intellectual property restrictions. This allows users to create software content through incremental individual effort or through collaboration." (Wikipedia)
The open source movement
The open source movement develops out of technological developments, particularly the Internet, but more generally in the world of media, which dramatically reduced the physical costs of the technologies associated with the publication and revision of material, particularly in situations where the people involved in a project are geographically separated.
The model is closely related to the academic model for the management, creation and dissemination of knowledge. While there may be intense rivalry among groups and individuals involved in academic projects, there is a general agreement that work
- is published openly,
- is open to peer review and validation
- can be cited by others, provided the source of the information is acknowledged
- is open to being developed by others
These factors tend to maintain quality at a high level, while reducing expenditure on appearances and pretension - in other words, advertising and spin.
Open Source may be packed with content, but often doesn't look so pretty. That is not compulsory, but the website of an open source software project such as TYPO3 is often about giving you information so you can make use of the product to achieve your objectives, rather than selling the product (and perhaps leaving out some of the unpalatable truths) by making everything look good.
You might at this point want to take a look at the Wikipedia home page and the Encyclopaedia Britannica home page, and compare the two - among other differences, the one encourages you to add to the content, and the other tries to make you pay for what's there by getting you interested, then cutting you off. This doesn't mean one is good and the other bad - they are both ultimately good - but their ways of achieving their objectives clearly differ.
Key Open Source Packages
The key open source packages and technologies Gate Seven use are as follows:
- Linux
- Apache
- PHP
- MySQL
- TYPO3
The first four packages between them form the backbone of the world wide web, which would grind to a halt if any of them was notably unreliable.
We use TYPO3 because we find it has similar characteristics of integrity and reliability, together with a very active development community, both for the core product, and for extensions.
We also work with a number of other packages, for example:
- phpBB
- osCommerce/Zen Cart
- mediaWiki
- Group Office
Is open source any good?
The packages listed above indicate that at least some open source software if of high quality and integrity.
There is frequently a debate along the lines of "Free Software can't be as good as software you pay for - if it isn't guaranteed what do we do if it doesn't work?"
In reality, there is little difference in this respect between open and closed source software: it is just that one is more open about your position than the other.
The principle of caveat emptor (let the buyer beware) applies equally to open and closed source software. There are good and bad packages, and certainly products with more and less features, in both the open and closed software camps.
Open Source Software comes up front explicitly with no guarantees, unlike closed source software, which comes, rather similarly, hidden in the small print, with no guarantees. (Both are in fact guaranteed to do just what they do, not anything in particular.)
This does not mean that you cannot get any guarantees - just that these are to do with contracts relating to the services which are offered based on the software. If I agree to develop you a site which has specific functions, unless there are let-out clauses, then you can hold me accountable for that, whatever software I use to realise the contract.
Is it really free?
The freedom is actually as in "free speech", rather than "free lunch".
Although open source software is free, you still get to pay to have any development done using it, unless you want to do it yourself.
Even if you start with a high quality and reliable package like TYPO3, which depends on other high quality and reliable packages such as PHP and MySQL, your total cost of ownership soon mounts up. (Though in reality you may save an initial £5000 or so on TYPO3, for example, as compared to a closed source rival.).
In addition, just because you don't have to pay for the software, doesn't mean that you can do anything at all with it. It is, in fact, copyright, and released under a license.
Licensing
Open Source is not only a philosophy of software development, it is also a way of licensing that technology.
The software remains under copyright, and there are terms and conditions applied to your use of the software, just as there are to your use of closed source software, or of any other intellectual property. It is just that the terms and conditions are different.
These principles are central to the licensing:
- source code is openly available
- source code can be used and modified by anyone
- if you use or develop the source code, what you develop is also open source, and can be used and developed by anyone else.
How Does This Affect Me?
Much of Gate Seven's web-related work is uses open source technologies and packages, and this may have implications for any development (as opposed to use or configuration) you pay for:
- you cannot profit directly from your modifications by selling the results as closed source software: if you publish modified software, it has to be under the same license as the base software.
- This condition does not mean that you cannot sell open source software. In fact, you can, but you must always make available the source code, and allow others to develop it. In the case of interpreted languages like PHP, the source code is the same as the released product.
- Work produced using a technology is not considered to be in the same category as an extension of the technology. In web-related work, this means that your web site is yours, and does not have to be open for all and sundry to alter.
- Nor, as long as you keep it to yourself, do you need to release the source code of any developments that you make or pay for (though in general you are encouraged to do so)
- If you publish (i.e. distribute) a development of a technology such as TYPO3, then those developments need to be made available to anyone under the same license.
You cannot create a new extension for TYPO3, for example, and then charge for it - if you are going to distribute it at all, you need to do so free of charge.
This is because:
- on the one hand that is what the license says, and, under copyright law, what the author says, goes.
- and on the other, because you are starting from a developed technology which you get for nothing. Competing closed source products may cost you hundreds or even thousands of pounds. If you develop the technology, it is only fair that you offer it back to the community that developed and uses it.
Support
There is no built-in support for Open Source software that you have a right to (though there may be extensive support available free of charge).
You can pay for the right to be supported, and the rights are then contained and defined by the contract.
(Increasingly, exactly the same applies to commercial software.)
A number of companies issue commercial and non-commercial versions of their software. Usually the difference resides in the bundling of support with the product, in the case of the commercial versions.
Development and support by Community
Open source philosophy leads to community, because (although closed source producers are tending to learn from this principle) open source development and support, particularly of large projects such as TYPO3, happens through the creation, organisation and contributions, of a community.
Since everything is open and there is nothing to hide or hidden, the only sensible thing to do is to co-operate.
What happens if it doesn't work?
In principle, you can fix it yourself, and so can all the other people using the software, many of whom are probably much more skilled than you are. You're not left at the mercy of the priorities of companies that want to make money, and which have specifically locked you out of the means to do anything about bugs directly.
To take an example - there is a bug in Microsoft Word 2007 that I reported to Microsoft in 1997 when Word 97 was released. They have never fixed it. There is absolutely nothing I can do about that, other than scream and scream till I'm sick, and there is no point in doing that, of course, because they don't care.
A more likely scenario with an open source project is that either I would fix it, or someone else with more skill would fix it, or, if necessary, I could pay someone to fix it, and once the problem is fixed, I'm in a better position to insist that people use the fix, because they don't actually have to pay for it (my code for MS Word is still full of workarounds for problems that are long gone, because I can't just tell people to spend money to upgrade to a new version)
Creative Commons
Creative Commons is another form of licensing. While is has much in common with the GPI license under which open source software is released, software or other material distributed under a Creative Commons license reserves certain of the rights which are covered by the "all rights reserved" clause in copyright notices, particularly the right to charge people who make money out of your work for using it.
The license is usually applied to material which is more like an artistic production than a piece of software.
If you are an author of a novel, for example, you may be happy for people to
distribute your work free of charge, but not happy that they should improve on it by rewriting.
In other cases, such as YAML (another package used by Gate Seven), and its integration into TYPO3, the authors are happy that individual users and non-profit organisations use their work free of charge, but they expect to be paid if their work is included in a project which is designed to make money commercially for someone.
Background
A more extensive discussion of open source and the various licenses which are compatible with it are found here
The Creative Commons website is here.
There is a good interactive css tutorial here and a good html tutorial here (in fact there are a lot of web-related tutorials on this site)
The software we use most for editing html and css files is TopStyle Pro which is distinctly closed source, although there is a free lite version.