### thom4.net/talks/2014/develop-bbc/ @@@ @@@ @@@ @@@ @@@
~~~~ Open Source can be seen as Wonderland when you are outside of it. @@@ ~~~~ But if you have had to do it for the first time, you would rather fear to expose bad code and to be seen as a failure. @@@ ## No *in between*… @@@ ~~~~ I will bring you inside the BBC fortress to give you essential keys to understand how to do Open Source in large organisations
![](../../img/avatar.jpg)
## *Thomas* Parisot [thom4.net](https://thom4.net) – [@thom4parisot](https://twitter.com/thom4parisot) @@@ ![Pardon my French](../../images/pardon-my-french.jpg) @@@ ![Full Stack JavaScript](../../images/javascript.png) @@@ ## BBC R&D [github.com/bbcrd](https://github.com/bbcrd) [bbc.co.uk/rd](http://bbc.co.uk/rd) @@@ ![I published](../../images/npm.png) [npmjs.org/~thom4](https://npmjs.org/~thom4) @@@ [![Sud Web](../../images/sudweb.png)](http://sudweb.fr)
# Open Source at the BBC 13rd November 2014 — [{ develop: BBC }](http://www.bbc.co.uk/academy/technology/events/article/art20141001095726612)
~~~~ Let's start by some story and some context. This is a story about open sourcing a tool named peaks.js from BBC R&D. This is a story about how and why we did it.
# What if I don't write *code*? @@@ # Words Typo, wording, clearer sentence or paragraph. @@@ @@@ # Docs Fix the pain of the next user. @@@ @@@ @@@ # Bug reports Tests are much appreciated! @@@ # Improvements Feature ideas, bug fix etc.
# Where to *start*? @@@ # Find an *excuse* @@@ @@@ # But for *audio*? @@@ @@@ # … like *that*? @@@ @@@ # We wanted to do it *well* It was heavily awaited by editors. … *Open Source*, please? @@@ # “Okay… ## … you have *two months*”.
# *Clear* indicators @@@ # *Time* Two months — user study, tests, doc… @@@ # Definition of *done* Visualise audio archives and snip bits of them. @@@ # *Risk* Which technology between SVG and Canvas? @@@ # *Metrics* Innovative work, accountable deliverable, esteem++. @@@ # *Exploratory* work @@@ # Filling *paperwork* Justified case for openness without business risk. @@@ # Starting *closed* source Done as it if would be open. @@@ # *Canvas* favoured SVG is nice but felt harder to build a UI with. @@@ # waveform-data.js Based on [Audacity](http://audacity.sourceforge.net/). Two for One deal.
# Ship it, ship it! @@@ # `rm -rf .git` No history in public. @@@ # *README*.md Solid API user documentation. @@@ # *package*.json *Self-contained* and *reusable* project.
Includes runtime and tooling dependencies. @@@ # `npm test` Ensures quality in IE9, Chrome and Firefox with [karma](http://karma-runner.github.io/), [Travis CI](https://travis-ci.org/bbcrd/peaks.js) and [BrowserStack](https://www.browserstack.com/). @@@ # `npm i peaks.js` Install should be as easy as that. @@@ # `npm publish`
# Now what? @@@ # *Spread* the word Blog about it, demo it to colleagues. @@@ # *Maintenance* mode Bug fixes, product related or quick features. @@@ # That's it! Unless if it is a strategic project.
# *Beyond*… @@@ # First *circle* recommenders Provide support to colleagues. @@@ # *Key* features Open issues, document the implementation. @@@ # Finding *supporters* Product owners in your team, in other teams. @@@ # Sniffing *buyers* Supportive demo, get notified of upcoming projects. @@@ # Collecting *metrics* Activity, usage, external products. @@@ # Building a *momentum* @@@ @@@
# Wrap up @@@ # *Open* Source is… @@@ # … *time* and effort To maintain, to support and to care about. @@@ # … a tool to *learn* Only douchebags will blame you. @@@ # … a *visibility* tool To your team. To other teams and organisations. @@@ # … a *culture* change tool People may like it or dislike it. @@@ # … a *leadership* tool Get trusted. By your team. By the community. @@@ # … a *continuity* tool Open Source on top of Open Source.
@@@ # Thank you!