Open Source at the BBC: When, Why, Why not & How
-
Upload
kamaelian -
Category
Economy & Finance
-
view
2.478 -
download
0
description
Transcript of Open Source at the BBC: When, Why, Why not & How
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Michael SparksSenior Research Engineer
BBC Research
[email protected] World London 2006
Open Sourceat the BBC
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
CurrentlySenior Research Engineer
BBC Research
PreviouslySoftware engineer and networkengineer at a mixture of public
and private companies
This talk is based on experienceof both public and private
company usage ofopen source
Who am I?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
This talk will be summarised as a text
document and go online Friday, after
Linux World is over, and be linked from
the Kamaelia website
(hence link & contact details at the bottom of every page!)
This talk
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Themes forthis talk
Whynot
How
Why
When
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Use
Context
Improve
Originate
Overview
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Uses & createsopen source software
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Uses & createsProprietary Systems
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why?Good business and
public service reasons
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
TerminologyFree/Libre, Open Source Software
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
TerminologyOpen Source:
Focus on approach... ...not politics
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Use
Collaboratively Improve
Originate
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Obvious Question:Why use open
source?
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
No specific policy for or against
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Tools are evaluated on their merits
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Adaptability to the business is a merit
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Better Question:Why avoid open source software?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Would you ask:Why avoid
proprietary software?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Would you ask:Why avoid
proprietary software? Ok, some at this conference yes,but generally speaking it would
be taken as a given
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
To avoid open source solutions ...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
... would limit the BBC's choices
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
.. cuts you off from useful technologies
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
.. cuts you off from community
developments
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
... would avoiding Apple & even some Microsoft products
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
... would avoiding Apple & even some Microsoft products
Since even these suppliers have some usefulsoftware which either are or or based on open source.
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Open source software is difficult to avoid
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When to evaluate using an open source
solution?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When you are looking for a new solution
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When you are looking for a new solution... alongside anyother solutions
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Because it provides for the business need in the appropriate way
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why not use an open source solution?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If it does not provide for the business need in the appropriately
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
How to use an open source solution?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Same way as aproprietary solution
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
How does the BBC use open source?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
How does the BBC use open source?
Some highlights
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Network InfrastructureApache, Perl, Python,
MySQL, Linux
Proprietary systems are also used here
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Desktop ApplicationsFirefox
Open Office(in some areas)
Proprietary systems are much more widely used here
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
DesktopsMac OS X
Linux(in BBC Research)
Microsoft Windows is the dominant desktop OS at present
The BBC...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Adaptability
StabilitySecurity
MaintainabilityStandards
Market Expertise
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
We're talking about contributing back
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
You have a problem not seen before
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
By contributing back you reduce your
maintenance burden
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
... and encourage others to do the same
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Code is the most obvious contribution
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Bug fixes are the most welcome contribution
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
A bug report is contributing back
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Intelligent questions can lead to improved
documentation
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Talking about usage is contributing back
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why does the BBC contribute back?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why does the BBC contribute back?
Perhaps not as often as it would like
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
For all the previous reasons, but also a
special one
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Open source is very similar to traditional
standardisation
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Any interested and capable party is
welcome to participate
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Long standing tradition of working in
standards bodies
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
May contribute to any existing project where
it benefits the BBC
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When to contribute to an open source
project?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When you have solved a problem or need to solve one
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why contribute back to an open source
solution?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Because it helps the product get better,
which in turn makes it more valuable to you
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why not contribute back to an open source project?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When doing so may reveal business or
personal confidential information
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
How to contribute back to an open source project?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Contribute repeatable, clear,
focussed bug reports
..without expectations
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Contribute clear, focussed bug fixes
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Make them focussedFollow project culture
Make them easy to applyMake them relevant
Include docs
If you don't know how, askotheriwise you will look stupid
bug fixes
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Make them focussedFollow project culture
Make them easy to applyMake them relevant
Include docs
If you do it right, your company will be respected
bug fixes
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Note: Open source is a meritocracy – conceptual
contributions are more important than money
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Bluntly:
Start talking about money, and you will often alienate
developers
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Bluntly:
Start talking about money, and you will often alienate
developers
even if the work done is often priceless...
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If you've never done this, liase through an open
source consultancy
Tip:
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
We're talking about new open source
projects from the BBC
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Not your core business,not a saleable product
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Standards development, encouragement
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Will be developed anyway
A key one:
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Will be developed anyway
eg: in house tools
A key one:
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Will be developed anyway
no feedback == no lossany feedback == benefit
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Will be developed anyway
less obvious: increase market sector viability
for your business
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Will be developed anyway
less obvious: increase market sector viability
for your businesseg, email, web, the internet as a whole
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Does not host BBC open source projects
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Only contains pointers to the projects
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Once you release the code, you are no
longer in control of that code
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Community hosting makes it clear the
code is community owned
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
What has the BBC originated as open
source projects?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Kamaelia, Dirac, TVAnytime API, Betsie, Media Dispatch, MXF File Test Engine, Video
Shot Change Detector, Media Lounge, Pony, 2
Apache Modules, 10 CPAN Modules, BAP Tools, ID3v2 Chapter tools, Flash tools,
AFFEditPack, ....
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Dirac
To develop a royalty free video codec for online and
offline delivery
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Dirac
Benefits of release include:Community collaboration,
peer review, and critique by peers for standardisation
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Dirac
Downside of release includes:People viewing release of
Dirac as entering direct competition with suppliers
Release enables collaboration
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Kamaelia
Original aim: to develop tools for scalable long term online delivery of all BBC content
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Kamaelia
Community collaboration is evolving the system into a
general purpose multimedia toolkit
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Kamaelia
Revised high level BBC aims: To do for software systems what IKEA has
done for furniture, and spreadsheets have done for traditional business
but for the BBC's business ofstorytelling and distribution
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Kamaelia
Benefits of release include: Peer review; a much more
general purpose and hence more generally useful system,and dissemination from R&D
dept into the business
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Appropriate Licensing
Both preceding use the “Mozilla TriLicense”, why?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
MPL – explicit patent grant
GPL – most widely used licenseLGPL – most appropriate for a
library
For prior 2 projects interoperation on all 3 levels
has been impotant
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When to originate an open source project?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When you have software developed
inhouse as an overhead not as
product
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why originate an open source project?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When you have aninhouse tool that you
think others will find useful
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When it will benefit your market sector
making it more attractive & viable
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Communities of companies can generate wealthfor all concerned
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
To gain competitive advantage –
consumers prefer open platforms
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Why not originate an open source project?
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When you gainreal competitive
advantage by not doing so
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
When that software is all you sell
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If you're not prepared to accept community
contributions
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If you're not willing to risk letting go of control of the
codebase
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If your code contains secrets of any kind
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
How to originate an open source project
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Create a project on an independent
hosting site
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
SourceforgeGoogle Code
Berliosetc
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Choose a license and understand its implications
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
GeneralAnnouncementsVersion control
commits
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Create a project bloguse it when anything
notable happens
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Create a project bloguse it when anything
notable happens
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Focus on the code in any release announcement,
not on you
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Don't expect instantaneous success
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Read how others have done it“Cathedral & Bazaar”
“Producing Open Source Software”
“Hackers & Painters”
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Don't expect instantaneous success
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
This talk was titled “open source at the BBC”
Proprietary software is as widely if not more widely
used inside the BBC
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If you want to use proprietary software the
business world is geared up to help you.
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If you want to improve proprietary software the
traditional way is to start a new business
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
If you want to create proprietary software you
do the same thing
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
In either case, evaluate each based on their merits
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
Private businesses havethe option of ideology
as a merit
Public services do not
Michael Sparks, [email protected], http://kamaelia.sf.net/Kamaelia
More information:
BBC OSS FAQs:http://tinyurl.com/yjyx83
Joel on Software – Strategy Letter Vhttp://tinyurl.com/4haso
Cathedral & Bazaarhttp://tinyurl.com/3ald3
This talk will be summarised on my blog:http://yeoldeclue.com/blog