Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Tuesday, 19 March 2013

Richard Stallman: Free v Open Source Software


Eric Raymond, Communism and Free Software


Web regulation

You though it was press regulation, but we got web regulation as well.

Not happy. Not happy at all.

Open Source and Free Software

Talking about this today in a lecture, which reminded me of this classic song by Janis Joplin - Me and Bobby McGee:



"Freedom's just another word for nothing left to lose".

Friday, 3 December 2010

Value Networks in Open Source

Lorraine Morgan of National University of Ireland Galway gave a talk entitled "Open Source as Open Innovation: Creating and Capturing Value in Value Networks", at the BCS Covent Gardens Offices on Thursday 2nd December 2010. Despite the weather restricting attendance at the talk, it was a very lively and interesting evening, with lots of views and discussion from all that attended. A very engaging and interesting evening. Here are a few thoughts on the ideas presented.

Lorraine started off by examining the issue of Business models. Most people think in terms of how do you generate revenue, forgetting that non-monetary benefits are also valuable. She introduced the concept of Open Innovation (OI), and idea first introduced by Henry Chesbrough. From her perspective, and my understanding, external ideas and knowledge have equal value as internal ideas and knowledge. This immediately made me think of the importance of Choo's Enviromental Scanning in finding external ideas and knowledge and absorbing them in the organisation. Its clear to me that information seeking must be an important part of the process of OI, particularly at the imitation stage. We talked around SWOT analysis and Porters Five Forces, and Lorraine pointed out that OI cannot work in terms of these (opening up is not a threat for example), as reputation and trust needs to be built up in the network for the concept to work. There was actually quite a discussion about this. Later on the issue of repuation came up, something that is clearly important in OS and on which Eric Raymond has written about in Homesteading the Noosphere.

OS is a from of OI, The business model used in OS is therefore essential, and needs to be rethought if OS software development is used. We need to think in terms of value creation. There are different definitions of value creation, Lorraine quoted the following "worthiness of monetary and non-monetary benefits of products and services". Stakeholders (CATWOE client, actor and owner) have different perspectives on value.

OS creates value by creating 'Networks', or 'Value Networks' (see my comment on Homesteading the Noosphere above). Traditional approaches to Value Creation need to be rethought, as they tended to neglect innovation and created networks. Some examples were given from enterprises to support this view e.g. employee/team of the month, which creates competition between teams and creates barriers for setting up networks. Different perspectives are needed - different from 'how do we keep ideas in the organisation'. With value capture therefore we need new theories of the firm. Made think about Raymond's 'The Magic Cauldron'.

 Lorraine stressed the importance of Value Networks in Value Creation. There exist both internal and external Value Networks, and OI is needed inside the organisation. Competion is not the key. Sometimes members of the network need to make sacrifices in order to gain benefits from the Value Network. Reputation and trust is essential here (see above). Symbiosis can bring benefits from the Network, which outweigh the loss in competitiveness. A good example of this is reducing in costs when sharing the development of infrastructure software.  Access to complementary skills are gained from the network (the whole is more productive than the some of its parts). Some important questions to be asked are: what is value and what kind of value are we capturing. I mentioned social networks, and Lorraine differenciated between Value Networks and Social Networks - the latter tend to be closed, whereas the former must be open.

Lorraine briefly described her research findings so far. She talked to a Medical supplier who had gone 100% open source in order to avoid issues such as vendor lock in etc. Costs were much reduced and they were able to spend more on training for internal staff. There was some discussion on lock in from vendors, and it is my view that its easier to create lock in's if the software license is BSD, more difficult for viral licenses such as GPL. One interesting point she made was that staff who are recruited to support particular open source products demonstrate high levels of commitment to the code than to the organisation - if the organisation shuts down their project, the developer will move on. There was quite a bit of discussion on actors e.g. pro vs. re-actor.

Overall a very useful talk, and I very much enjoyed it together with the discussion.

Sunday, 28 November 2010

Current trends in Software configuration Management

I attended a very interesting talk on Thursday 25th November by Dan North of DRW Trading entitled “Is DVCS ready for the enterprise”. There are some important trends in open source software configuration management/source code control (SCC) that I would like to highlight. Here are my thoughts from the talk.

There is increasing interest in Distributed Version Control Systems (DVCS), in both the commercial world and in open source software development. Dan suggested that actually a more interesting question to ask is ‘Is the enterprise ready for DVCS’? His view in the talk (my interpretation) is that DVCS is ready for the enterprise, but are there work patterns in the enterprise that can use DVCS?

The initial problem he outlined is that more and more code is being version controlled, with much bigger teams over a wider geographical area in different time zones. Developers can be in the same floor or building, or be in different continents and time zones. Put simply the centralised model of SCC just isn’t working any more.

He provided a brief history of SCC and showed the development of open source tools:
  • 1972: SCCS – the first SCC tool (file oriented)
  • 1986: RCS – introduced the concept of multiple file access
  • 1986: CVS – built on RCS by providing current access for distributed users
  • 2001: SubVersion – repository oriented.
The key issue here is the problem of file oriented SCC methods (the focus up to CVS). CVS tags all files. This leads to various problems including tagging new versions (its all or nothing for all files) and problems with atomicity (file oriented methods are problematic for resolving conflicts) etc. SubVersion tries to get round the problem by focusing on the repository level, and tagging only at that level.

There are a number of commercial players who are better able to tackle these including: ClearCase, StarTeam, PerForce, VSS etc. There were some strong views from the floor on the ability of these systems to tackle the problems above, and Dan agreed, but pointed out that is focus was on OS SCC systems. However all systems mentioned so far have a centralised file base.

Dan mentioned some alterative systems which are distributed or peer to peer (p2p) based:
  • 1997 – Code Co-op
  • 2001 – GNU Arch (now defunct)
  • 2003 – PARCS (Haskall based – for reasoning on ChangeSets)
However everything changed in 2005 with the ‘BitKeeper’ incident. BitKeeper was a propriety but free program which was used by the Linux team for SCC. BitMover (the company who developed BitKeeper) decided end free access and started to charge for their product. This lead directly to the Linux community spearheaded by Linus Thorvolds developing a DVCS called ‘git’. Concurrently another group started another DVCS system called ‘Mercurial’. Very much a case of ‘Scratching an Itch”, something that Feller and Fitzgerald pointed out in their book in 2002 when pointing to that CVS was rather behind the times in terms of SCC, particularly with respect to propriety systems. In contrast, Dan’s view is that propriety systems did not take notice of these new developments, and OS now has the lead – this tends to happen if OS developers get the bit between their teeth and people annoy them! Things can change very quickly in the OS world.

More interestingly OS development is now being driven by two new websites:
Dan contrasted these websites with ones that have been around for a while, FreshMeat and SourceForge code repositories. It was his view that FreshMeat overtook SourceForge and that these new sites will take over from SourceForge, and will be the focus OS software development in the future. The most interesting thing about Github and BitBucket is that they are based on the social networking model, as embodied by sites such as FaceBook and LinkedIn. So while there are similarities of Github and BitBucket to FreshMeat and SourceForge, there are some very important differences.

In order to illustrate the significance of these developments, Dan contrasted the Centralised model of SCC and compared it with the p2p model (DCVS).

The centralised model consists of a Hub and Spoke. The master copy of the SCC data is held on the Hub, while the spoke represents the local copies held by developers on their computer. The model is very much ‘pull’ rather than ‘push’. Working copies are shared via the Hub (Master). Nothing gets past the master! In the centralised model is easier to control:
  • User access: through the http protocol
  • Build and Release: single point of access
In contrast the p2p model makes all copies (repositories) equal, and copies are just a series of clones. You either have a clone or don’t – each developer has their own clone with all information provide, and full access rights to the code base. Network operations are local, and therefore faster. Branching and merging – a big issue in SCC – are also local. ‘Diffing’ on copies provides more information. Committing is done locally.

In terms of data repositories share ‘ChangeSets’ in the p2p model, rather than changes on individual files and directories in those directories as in the centralised model (CVS has a tree, and changes between tree’s are what drives that SCC system). What is significant about this issues is that publishing is decoupled from committing. This raises the question – isn’t this a recipe for chaos?

There are a number of issues to consider here:
  • Build must be deterministic and repeatable
  • Configuration management audit and traceability: who did what, when?
  • Organisational structure of the team: central model allows access to trees, various parts of a team can access their part of the tree, but you can’t do this in the p2p model. How do you cope with team structure in DCVS?
How do teams integrate their code together to create a coherent software build? The modular style of development is the key to success in any software project, for example by allowing specialists to concentrate on their own particular area of concern. This development style is very prominent in OS projects. One way to this is to centralise by convention. Dan gave an example of the Linux Kernel, were many developers are involved in the development (1000’s). This project very much drove the development of git and Mercurial. One repository is ‘Canonical’, as master copy of which there is only one, and only one person can commit to. Other uses can only download this Canonical copy. Different specialist groups have their own Canonical and a hierarchy of commits is created, with different levels of peer review appropriate for each level. All releases come from the central repository. Commits are done locally, where synchronisation is done globally. Centralising by convention makes synchronisation much easier. The Bazaar model of development is clearly influential in the p2p model of SCC.

Dan talked about the fundamental difference between the centralised and p2p models in terms of the data they process. Centralised SCC systems (such as CVS) are file oriented, whereas p2p DVCS systems (such as git) are ChangeSet orienated.

In the ChangeSet model, there is no concept of a file. Renames and deletes on files and directories are no longer special. Only changes are recorded – this decoupling is important. The advantage of ChangeSets is that we can use ChangeSet Algebra on ChangeSets to find the differences and act on them e.g. to restore parts of the code previously deleted. With ChangeSets only the changes are stored, which is much more efficient than changes on individual files and directories (in the CVS tree for example), and saves a substantial amount of storage space and is easier to reason with. This then is the big advantage of ChangeSets, and hence the p2p model.

In order to illustrate the advantage of the p2p model and its data storage model, Dan talked about the incremental merge problem. In centralised systems, incremental merges can cause the multiple initiations of delete commands (for example), leading to inconsistencies in the repository from actions taken on them. Various members of the audience asserted that this has not been a problem for propriety systems, but Dan countered that CVS/SubVersion did not deal with the problem, and git/Mercurial are significant advances over the former.

Dan also talked about the difference in release from centralised and p2p systems, the former branch per release, whereas the latter branch per feature. He talked very briefly about migrating to DVCS.

Dan outlines some barriers to adoption:
  • git has a significant learning curve
  • its easy to overlook the synchronisation issue
  • it is much harder to enforce central control.
Dan concluded that the technology works and DVCS is most definitely ready for the enterprise. I found this talk extremely illuminating, and will be revising my session on OSS tools accordingly.

Update: Audio of the talk is available on the BCS streaming server. 

References

J. Feller & B. Fitzgerald - Understand open source software development, Addison-Wesley, 2002.

Sunday, 15 November 2009

Drawing with the eyes

Eyewriter is a fantastic technology, allowing users who have no movement to draw/write things. Its a brilliant way for severely disabled users to interact with computers, and improve their quality of life. And its an open source project!

(h/t: David Thompson)

Sunday, 31 May 2009

Google Waves

Here's a google app being released as open source:





Rather long, but well worth a look.

Thursday, 6 November 2008

Augmented Reality on Mobiles and Geographical Search

This product called Wikitude AR Travel Guide from MOBILIZY is just amazing:





It uses Google Android as the base platform.(h/t: Ed Parsons)

Friday, 20 June 2008

Visualisation of Software Projects

Now heres an interesting idea. Take the commits to the project, either for files or modules etc and visualise the process of the commits from developers and watch code develop as developers commit. Michael Ogawa at UC Davis has done with with CodeSwarm.



He has created a number of videos for various projects, including Eclipse, Python, PostgreSQL and Apache. Interesting to try and interpret what is exactly happening with code using the visualisation.



CodeSwarm. is an open source project, and you can download it from Google Code and use it. Perhaps I'll try one day!

Tuesday, 29 April 2008

Software as a Service (SaaS)

Saas is becoming more prominent. Use Google? You're using SaaS. What does SaaS rely on - Open Source software. Get the lowdown. Software should be treated as service - its not manufactured in the same way as desks for example, and 70/80% of the software life cycle is spent on implementation and maintenance. It would be like spending £10k on your nice BMW, only to find that your need to spend £80k to maintain it - give the BMW away and provide a service (note: this is an analogy).

A Spectre haunts Microsoft, The Spectre of Open Source

And propriety software as a whole of course. Some evidence. heh.

Wednesday, 27 February 2008

Stealing reputation

This is simply appalling!

Its is a classic case of a company trying to steal a projects reputation, and using legal means to prevent the orginal project owners from getting their project back.

This is a particularly unpleasant example, I must say.

Sunday, 13 January 2008

Copyfarleft?

Yep, Copyfarleft. No really. No honestly I'm not kidding, I think they are serious. See:




Its as if the soviet union never existed, and all the failures which led to the downfall of that empire are not failures at all. Kleiner talks about 'art' in the context of Copyleft GPL, but this licence was designed for software only - not for artistic expressions such as music, plays etc. A better way for these is the Creative Commons. Artists should look to licenses based on this, not the GPL! The concept of 'copyjustright' seems to make sense for artistic works. The DRM issue is not directly related to SCO vs IBM case re: Linux and trying to make a direct link makes no sense at all. A piece of music is not the same as a piece of software (the former does not need to be maintained, the latter does). This misunderstanding makes the article pretty incoherent. Companies get involved in open source (or free) software development, largely because of the technical and economic benefits which accrue - they don't 'own' the software, property in terms of free and open source software is something of a fuzzy issue.



The article puts forward the notion that Copyfarleft could be applied to artistic works. I'm interested in the idea as applied to software. Copyfarleft discriminates against a) groups and b) individuals. Any license based on this concept (assuming it could be enforced legally) would reduce the number of people using and developing the software, and therefore reduce the effectiveness of the open source development model (less eyeballs on code). It isn't going to work for software.

Sunday, 11 November 2007

Creativity Stifled

Larry Lessig talks about how creativity is being stifled by the Law. Its a very wide ranging talk and I can strongly recommend it.

I've been posting about DRM recently e.g. here and here and while Lessig's presentation tackled copyright in general, it is clear to me that the thrust of the argument is against technologies such as DRM. It criminalises people for no good reason.

The argument used is lets go back to what you used to do before the advent of technology such as the phonograph (record player to oldies like myself, or CD's to you younger folk). Musicians earned their living by traveling around and giving performances. Music was a shared experience. Lets go back to that.

The danger is not restricted to just this one area - stifling of creativity in the software area is another bone of contention with me. Software patents are stupid, and should be abolished. They are virtually only ever used (apart from a tiny minority of case) by companies to counter sue other companies, who might sue them for a copyright breech. So the only reason to have patents in software is to make lawyers rich. erm...

Thursday, 18 October 2007

OpenDoc Society: foundation Meeting

Now heres an idea - how about standards for document formats? The Open Document Society has been set up to address this issue. Think of those old files you can't read anymore, because the format is not supported. Or how about still being able to read a document in an older program (unlike Microsoft). The Society have an inital meeting in the Netherlands - here's the blurb:

http://www.opendocsociety.org/foundingmeeting

OpenDoc Society has as its goal to promote Open Document Format and
other related standards and by this way to contribute to the durability
and accesibility of information. The most important areas of interest are:

1. Striving to accomplish an as complete as possible representation
of users, developers and other parties involved with ODF and
related standards.
2. Developing and maintaining formal and informal relations between
the national and international ODF community.
3. Offering information, expertise and other facilities on ODF and
related standards.
4. Promoting the accesibility of ODF for all individuals, groups and
organisations
5. Offering a platform for discussion and the sharing of
views on ODF
6. Cooperating with other organisations in the area of open document
standards to coordinate, collaborate and educate.
7. Offering services to help individuals, groups and organisations
use ODF effectively for communication, cooperation, education and
innovation.
8. Contributing to durability and accessibility of information in
the public, commercial and private domain and daily usage
9. Stimulating innovation and new aplications of ODF.
10. Stimulating the use and development of ODF in general.