The first external contribution

My name is Remek Zajac. For the last three weeks I have been the Package Owner for the Comms Framework.

The Comms Framework is the host (the runtime context) for the protocol stack in the Symbian platform. There are various communication protocols implemented in Symbian and there are various ways they can be arranged into stacks and each of these ways are controlled by the Comms Framework. One could safely say that the Comms Framework is the Symbian protocol stack. The Comms Framework also owns the APIs, enabling applications to use the protocol stacks and communicate with the outside world.

The Comms Framework has been open to external contributions since April 2009 when it became a package. By external I mean from outside the native package team. Last week we received our first external contribution from Alten Ltd and I was pleased to learn that it was the first external contribution accepted by the Symbian Foundation.

The Alten group represents over 12000 expert engineers throughout Europe. With over 20 years of R&D and engineering services dedicated to telecommunication, Alten Ltd is strongly involved with the design and development of innovative technologies enabling the best mobile services and features. For the past 7 years, Alten has been, in various aspects, a Symbian’s stakeholder and it wishes to remain so for the years to come. This is part of its core business to further advanced mobile technologies. Alten Ltd is proud to become a member of the Symbian Foundation in Spring 2009.

As of earlier this year Alten and Comms Framework have been discussing possible ways to go about contribution. Since the Comms Framework has a never-ending backlog of small and large improvements that needs prioritisation and implementation in future releases and since our package doesn’t have a never-ending resource pool, it was agreed that Alten would pick a relatively small backlog item and implement it. Admittedly we were all mostly motivated to exercise the contribution process, yet the change was a valuable improvement to our package. It restructures the ESock (the core Comms Framework server) IPC Platform Security tables so that they are quicker to traverse and, in turn, the ESock’s IPC calls are dispatched faster.

Last week, on June 17, Alten prepared and tested a set of Mercurial patches, which was reviewed by me and my colleague; Thomas Goodfellow. Alten was instructed to correct the patches, both on trivial technical and non technical issues (e.g. they did not credit themselves in the copyright notice) and I had to learn Mercurial. Later on I submitted the patches to the Symbian Foundation Master Codeline and it was by no means a standard submission, simply because the Symbian contribution process had never before been used ‘in anger’. It was treading an unfamiliar land with a few pot holes scattered around it. Fortunately, there was enough support available from the Symbian Foundation to get through the process in less than a day and the pot holes are being tarmaced as I type. I strongly suspect that the next time will be much easier.

12 Comments

  1. Nithya
    Posted June 26, 2009 at 3:00 PM | Permalink

    Congratulations for the debut!

  2. Craig H
    Posted June 26, 2009 at 3:03 PM | Permalink

    I’m pleased that our first external contribution had a security angle. Well done!

  3. Posted June 26, 2009 at 4:36 PM | Permalink

    Well done Remek and Thomas: great minds as usual ;)

  4. teknolog
    Posted June 26, 2009 at 9:28 PM | Permalink

    Excellent! A milion mile march starts with a first commit! :)

  5. David Durant
    Posted June 26, 2009 at 10:23 PM | Permalink

    Very interesting.

    A couple of questions…

    Firstly, how are these going to folded back into the codeline internally within Nokia?

    Secondly, can you explain more about the copyright notice issue? If this changed to include the name of everyone who makes a change to a file then soon they’re going to get pretty big. Also, if people gain a copyright by changing a file doesn’t that mean that eventually there’s going to be a huge copyright muddle building over time.?

  6. Mark Wilcox
    Posted June 27, 2009 at 9:50 AM | Permalink

    Also, if people gain a copyright by changing a file doesn’t that mean that eventually there’s going to be a huge copyright muddle building over time.?

    Welcome to open source! It’s more normal for components/projects with a lot of different contributors to include a separate file listing them all. I think we may have to adopt something like this in the future.

    By changing a file (assuming the change is large enough) you gain a share of the copyright. Without an open source license telling you how you can use the file you’d need to contact every copyright holder and ask for their permission to use the file. Because the license forces everyone to license their changes to the file in the same way, there’s no need for this. Copyright assignment is only required if you want to be able to license the same files in different ways (as Qt used to).

    To give an example from a more established project – to use the Linux kernel but not comply with the terms of the GPL, you need to contact and negotiate with all of the developers that have code included. Someone once famously tried to do this via the kernel development lists (and offered quite a lot of cash, but nowhere near enough to tempt them). However if you’re happy to comply with the terms of the GPL then you don’t have to do anything, because all copyright holders have already agreed to these terms.

    This isn’t a copyright muddle, it’s just the way open source licensing works. :-)

  7. Posted June 28, 2009 at 8:59 AM | Permalink

    @Mark: Thanks. I was going to answer to DavidD but you did it faster and better.
    No guess you have a fame of Evangelist ;)

  8. David Durant
    Posted June 28, 2009 at 3:11 PM | Permalink

    Thanks Mark – this is more complicate than I thought. :-)

    > By changing a file (assuming the change is large enough) you gain a
    > share of the copyright.

    Okay – there are many questions that spring to mind:

    1) What country is this copyright in? Since copyright is a per-country issue does that mean that Symbian has potentially do deal with copyright offices throughout the world?

    2) If I own a part-copyright to part of the code does that mean that I can sell that on (http://www.ipo.gov.uk/types/copy/c-manage/c-useenforce/c-use/c-sell.htm)? Is so what does that mean? Is this forbidden by the EPL?

    3) If I own the copyright to the patch I just submitted to a file does that mean that anyone wanting to change that area of code has to contact me first since they will be changing something that is under my copyright?

    4) This is the big one – what does this mean for Nokia and other contributing company developers? If I was a Nokia developer would I get my name in the code for doing my day job? If so will *all past contributors* have to be found and have their names added? If not then what happens if I contribute code outside of work in my own time? If my name is added then is it possible to define the reason between the two situations?

    I suggest that the Foundation starts a “Licenses, copyright, patents and trademarks” FAQ section of the website / wiki as a good place to start gathering the answers to questions like these.

  9. sdhar27
    Posted June 28, 2009 at 6:19 PM | Permalink

    Great to hear :) and SyFo’s i.e. Symbian Foundation’s 1st birthday
    and greatest announcement of history of open source and open mobile world also completed one year. As what our David Wood said is true
    all we have to feel “a sense of urgency” to show the power of largest
    and greatest open mobile platform on this planet.

    When you really desire something with your whole “heart” , then the entire universe conspires in helping you to achieve it… — Paulo Coelho (‘The Alchemist’)

  10. Mark Wilcox
    Posted June 30, 2009 at 8:40 AM | Permalink

    David, now you’re starting to get into “ask the lawyers” territory, but since I hate that response I’ll give my layman’s understanding – just don’t use it as legal advice.

    1) What country is this copyright in? Since copyright is a per-country issue does that mean that Symbian has potentially do deal with copyright offices throughout the world?
    As I understand it, all copyright exists globally, but how it is interpreted is different in every country. You get copyright automatically but it doesn’t hurt to assert it with a copyright notice. There’s no need to register it anywhere.

    2) If I own a part-copyright to part of the code does that mean that I can sell that on (http://www.ipo.gov.uk/types/copy/c-manage/c-useenforce/c-use/c-sell.htm)? Is so what does that mean? Is this forbidden by the EPL?
    Yes, you could sell your share of the copyright, but I don’t think anyone would buy it, particularly once you’ve granted anyone a license to use that work via the EPL (neither you or the buyer could revoke that license).

    3) If I own the copyright to the patch I just submitted to a file does that mean that anyone wanting to change that area of code has to contact me first since they will be changing something that is under my copyright?
    No, that’s the whole point of having the open source license, which includes rights to modify the code as well as use it.

    4) This is the big one – what does this mean for Nokia and other contributing company developers? If I was a Nokia developer would I get my name in the code for doing my day job? If so will *all past contributors* have to be found and have their names added? If not then what happens if I contribute code outside of work in my own time? If my name is added then is it possible to define the reason between the two situations?

    Check your contract of employment for this one. Most big companies (and indeed most software companies) ask you to assign any IP you create in work time (and often out of working hours if in the same general field) to them in your contract. Thus Nokia owns the copyright to anything you do that’s vaguely mobile software related. In that situation you technically need to ask for written permission from your employer to participate in an open source project in your own name (although if you want to contribute to the Symbian platform in your own time then they’re very unlikely to say no!).

    I suggest that the Foundation starts a “Licenses, copyright, patents and trademarks” FAQ section of the website / wiki as a good place to start gathering the answers to questions like these.

    Actually there’s already quite a lot of open source info on the wiki. This is a good starting point:
    http://developer.symbian.org/wiki/index.php/What_is_Open_Source%3F

    There are even 3 chapters of a good book explaining open source available for free:
    http://developer.symbian.org/wiki/index.php/The_Open_Source_Alternative

  11. Posted July 1, 2009 at 6:34 PM | Permalink

    Why does your website have a Dr. Suess theme? I keep expecting Zoop-a-Zoop Troupe to pop up somewhere…

  12. Posted July 2, 2009 at 6:05 PM | Permalink

    Mark, Next time that I need an advice about Open Source, I’m pretty sure that I am going to contact you :)


2 Trackbacks

  1. By Disambiguating the brand « Symbian Blog on July 7, 2009 at 4:47 PM

    [...] new contributions from the community. Alten is the first company that is not a founding member to contribute and there are more in the [...]

  2. [...] nuovi contributi da parte della comunità. Alten è la prima società non membro della fondazione a contribuire e ancora altre sono in [...]