Platform Opening/FAQ
From Symbian Developer Community
Is the entire Symbian platform open?
Yes! All Symbian^3 platform source code is now available as open source code, to members and non-members alike, mostly under the Eclipse public license (EPL) but in part under other fully open source licenses.
The majority of the tool chain code is also now open and available under the EPL (or other open source licenses). There are just a few tools packages that have yet to complete their transition to distribution under the EPL, which will happen during the first half of 2010.
I thought you were already open?
We made some parts of the Symbian platform fully available under open source licenses when the Symbian Foundation launched in April 2009, but most of the code was only "open" to members of the Symbian Foundation under a transitional members-only license. We converted some packages (including Kernel and Security) to the Eclipse public license during 2009, which added up to about 5 million lines of open-source code that were available by the end of last year. We have always been committed to opening the Symbian platform completely by June 2010, but we are ahead of schedule and are now making the rest of the code available (33 million lines in total).
So what? Why is this a good thing?
Opening the entire Symbian platform removes barriers to direct involvement and will enable the Symbian community to grow more quickly. Individual contribution becomes much simpler, students and university research departments can engage much more easily and companies, small or large, can experiment with the code directly. Those who want to can now build a device based on the published Symbian code.
In short, we are lowering the barriers to allow everyone to play with the Symbian platform; something that we passionately believe is a good thing to do.
If I don't need to be a member to get the source code any more, why should companies be members of the Symbian Foundation?
Symbian membership offers many benefits. Although you don't need to be a member to contribute code to the platform, you still need to be a member to become a package owner, sit on the four technology Councils, or be nominated for a seat on the Board of Directors. If it's important to your company's roadmap for you to have this kind of influence on the Symbian platform, then your company will want to be a member.
In addition, Symbian members have access to a range of business development benefits, such as the introductions service to other members, free regional events for networking and gaining greater information about the global markets for their services and products, the ability to receive qualified sales leads through the Professional Services pages of the developer Web site, listings in the Member Directory, the ability to post their own Member Profiles linked to the Member Directory, and much more. A detailed listing of member benefits -- which are always being expanded -- can be found here.
Development Q&As
Which code line(s) will be released? Symbian^2? Symbian^3? Symbian^4? All?
We have focussed our efforts in removing code encumbered with third-party IP from the live code in Symbian^3 and beyond. For that reason, only Symbian^3 and subsequent releases will be available as open source code. The Symbian^2 codebase is now largely in maintenance and there will be no change to the way it is licensed; it will not be made fully available under an open source license.
What release of S^3 will be fully open?
We plan for PDK 3.0.g to be the first completely open PDK - it will be released in week 07. Because we wish to minimise the disruption to PDK releases during the process of moving to a completely open platform, we will release PDK 3.0.f in week 05 as planned. It will be built against a codeline that comprises a mixture of packages that are open and some that have not yet made the transition.
Now that third-party IP has been removed from the Symbian platform, are there any gaps?
The majority of third-party IP (TPIP) issues have been resolved and all of the features needed for a working handset are either present in the open source platform or available off the shelf from companies that complement Symbian. There are cases where we would like new contributions to further increase the level of completeness and openness in the platform. Examples include predictive text input and hand writing recognition.
What can I do with the code? Can I put it on another repository and work on it in public?
You can download it and compile it, and you may even make money selling modified versions of it. The only constraint is that you must honour the licenses associated with the code. The relevant license is indicated by comments in the source files, and is usually the Eclipse public license.
If you want to make changes to the code, you are free to do so: If they are in line with the aims and roadmap of the Symbian Foundation then we'd like you to contribute them back to us. You may copy the code into other public repositories and work on it there, if you really want to, and you are also welcome to work on it in our feature code line (FCL) repositories.
Where can I get the code?
The easiest way to get started is to download a Symbian^3 Product Development Kit (PDK).
Each PDK contains prebuilt binaries and copies of the specific source files from which it was built. You can also go directly to our Mercurial version control system and access multiple versions of the source files, including different Symbian releases and new features under development.
If you don't already know which of the 200,000+ source files contains the code you want to look at you can search for it with our cross-referencer.
How do I build the platform? What else must I do?
The Symbian Platform is composed of multiple packages, each of which is made up of multiple components (see the System Model for further information). You can build the complete platform, a package, or individual components (but if building anything smaller than the whole platform, you will need to have a product development kit (PDK) to build against).
- To build an individual component, you would typically use the Carbide.c++ IDE, or run the SBSv2 build tools from the command line.
- To build a package, you will probably use SBSv2 and the XML file which describes the structure of the package.
- To build the complete platform, we recommend that you use the same tools that we do, namely the open source "Hudson" tool for managing complex builds, driven using the scripts that we publish.
Can't I just type "make"?
No. The Symbian platform just isn't that simple. Historically, no single organisation had access to the whole source base. The build process has become simpler as a result of all of the code being contributed to the Symbian Foundation, and over time it will be made even more streamlined and uniform, but it won't ever be trivial.
How do I report a bug?
Please use the Bug Tracker on the Symbian developer website. It's under the 'Source' menu.
You can find more details in our Defect Handling Guidelines.
I want to contribute to the code, who do I talk to?
Ultimately the owners of each package are responsible for accepting contributions. However, the packages are organised into technology domains and within the Symbian Foundation we have a team of technology specialists who lead, manage and co-ordinate innovation and development. Please contact them in the first instance.
Can I rewrite existing APIs and submit the improvement back to Symbian?
You are welcome to contribute changes, but if you want to modify public APIs, the guardians of the code, i.e. package owners and committers, are unlikely to accept changes that would cause widespread disruption for the community. Changing key public APIs would create disruption for everybody that uses them, and we have a process in place to ensure that we don't break compatibility unnecessarily.
Hardware Q&As
Can I reprogram my existing phone with Symbian^3?
No you won't be able to reprogram your phone. The ability to create phone updates is left to the discretion of each phone manufacturer and you will not be able to take the open Symbian platform today and use it to build complete updates for existing devices, even if they are currently running a version of the Symbian platform. However, you may be able to take pieces, such as individual applications, extend them and install them to add more or replacement functionality.
Can I build a Symbian phone now that the code is released?
Anyone can build a device based on the code that we have now made available, though you will also need a base port for your chosen hardware. Other factors to consider are the likelihood of needing to use code encumbered by patents or third-party IP.
Open Source Business Q&As
Who owns the code? Can I make money with it?
The code is owned by the original copyright holder, but has been licensed to Symbian Foundation under a wide enough licence to allow us to pass it on to the community under either the Eclipse public license or another open source licence.
You can certainly make money using the source code, but you must honour the license, and when you sell your code you must distribute your changes under EPL so that others can use them as well, as described here.
Is any of this code covered by patents? Can I get patent licenses from the Symbian Foundation?
Yes, some of the code implements techniques and ideas which may have been patented. Becoming a member of the Symbian Foundation entitles you to certain patent licences from other members as set out in our patent policy. For further information, please contact info@symbian.org.
Licensing Q&As
What is the "EPL"?
EPL is an abbreviation for the Eclipse public license, created by the Eclipse Foundation.
The Eclipse public license is OSI-approved and is considered to have weak copyleft provisions. Any changes and certain additions to EPL-licensed code need to be licensed on under the EPL.
We believe the EPL is a good choice for the Symbian Foundation because it balances our goals of encouraging development of the Symbian platform, builds a contributor community and encourages vigorous commercial competition through innovation on top of the platform.
Further information about the EPL can be found in an FAQ on the Eclipse Foundation website.
Why aren't you using GPL?
The GNU General Public License (GPL) says that any work that is based on GPL-licensed code must itself be GPL-licensed. For example, if the Symbian platform was published under the GPL, then anyone writing software using Symbian core libraries would be obligated to publish that additional code under the GPL.
The Symbian Foundation has instead chosen the EPL because it wants to be absolutely clear about this: device manufacturers will be able to add new features and support new hardware without having to make all of that code open source, except where they are changing or making certain additions to EPL code supplied by the Symbian platform. We expect that device manufacturers will see the value of enriching the Symbian platform by contributing their innovations, but we don't insist that everyone must contribute everything.
Miscellaneous Q&As
Is the security of my phone compromised now the code is public?
No. The Symbian platform does not depend on "security by obscurity", and reading the source code will not reveal trivial ways to circumvent our platform security mechanisms. There may be bugs in the code which could be exploited by hackers, but making the code public is a recognised way to find and fix those bugs more quickly. You can find out more from a detailed post in Craig Heath's security blog.
My question hasn't been covered by any of the above. How can I find out more?
Please see the following links for additional information:
- frequently asked legal questions on www.symbian.org
- frequently asked membership questions on www.symbian.org
- frequently asked questions about Symbian on www.symbian.org.
Comments
Sign in to comment…

