Skip to content

Instantly share code, notes, and snippets.

@Crystalh
Last active December 19, 2015 18:58
Show Gist options
  • Save Crystalh/6002118 to your computer and use it in GitHub Desktop.
Save Crystalh/6002118 to your computer and use it in GitHub Desktop.
A short proposal for open-sourcing some of the BBC Responsive codebase.

Background

The BBC Responsive codebase has developed many robust tools and libraries that could easily be reused, extended and improved upon within the developer community. The codebase has matured from a prototypal project into a fully fledged solution to making BBC News a responsive site. However, all that great work that could be shared is currently locked away in private repos on Github. Briefly we'll cover both the Pros and Cons of Open Sourcing our code.

Pros

  • Collaboration from the community to produce the best tools and libraries we can
  • Heighten the profile of the BBC as a leading edge, innovative, and creative organisation
  • Generate useful feedback from developer community
  • Good advert for potential developers considering working for us
  • Reignites developer passion in what we're building / producing.
  • Exposes the BBC as leaders in the responsive web development field
  • Better tested solutions
  • Easily point industry experts to code where we'd like feedback. Instead of creating long-winded gists or bins.

Cons

  • Managing support, communication, and collaboration overhead. This could turn into a time-consuming process. Or it becomes something we incorporate into the job i.e. the best developer to review a Pull Request or feedback is assigned as part of their weekly workload.
  • Opens code up to public scrutiny
  • Developers submitting code need to adhere to the same standards we currently have in place
  • Integrating Pull Requests
  • Introduction of bugs from externally contributed code. Largely mitigated by stringent testing!
  • Security implications

Considerations

A repo should be open-sourced when it is identified as useful and reusable outside of the BBC. It shouldn't expose the inner workings of the BBC platform such as Frameworks or the PAL.

We may have to create quite specific rules for collaboration to ensure other developers strive for the same standards the Responsive team do. For instance, a Pull Request must include: unit tests, documentation, integration tests, etc

Would making the repos public but denying public contribution render its openness of no real value?

@Integralist
Copy link

My main concerns with open-sourcing our code (which you've alluded to above already but I'll reiterate) are...

  1. Open-Source isn't just a case of releasing some internal code and saying "there you go community, enjoy!" there is a lot more work that will need to go into first getting the code into a stable and clean state (so no internal information, names, apps etc etc is included) but also we have a responsibility to maintain that project (e.g. bugs that are found)
  2. Concern about the quality of our code. We preach a lot about performance and best practices and I'd be concerned that although we have the best intentions to adhere to those principles, the community (much like the media) can be a harsh beast sometimes and could easily tear us apart on minor (or even major) flaws in our code and result in negative feedback we don't recover from. Think about it, how feasible would it be for us to accommodate fixes for any negative feedback we get on the quality and efficiency of our code base. Let's say the community thinks something we do (either server-side or client-side) is absolutely shockingly bad -> do we have the resources to spend resolving that issue so the community doesn't think badly of us, and if we don't fix their issues we'll be looked at as either not listening to them or they'll find it unbelievable that a company as big as the BBC can't afford to resolve their issues.

Just food for thought (playing devil's advocate).

@kenoir
Copy link

kenoir commented Jul 16, 2013

@Integralist We've got other open source projects available via Github already (https://github.com/BBC-News/wally) and they haven't attracted much attention, negative or otherwise.

@Crystalh I think at the moment as responsive-news is tied to Forge so strongly through dependencies on closed source BBC libraries it's debatable how useful it is to others. What do you think?

@kenoir
Copy link

kenoir commented Jul 23, 2013

@jclevely @murrayrowan @manjitr What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment