Category: Open Source Infrastructure

  • This article is the first in a series on improvements to Linux Kernel documentation. The Linux Kernel has one of the biggest communities in the open source world; the numbers are impressive: over 4,000 contributors per year, resulting in about 8 changes per hour. That results in 4,600 lines of code added every day and a major release every 9-10 weeks. With these impressive numbers, it’s impossible for a traditional printed book to follow the changes because by the time the book is finally written, reviewed and published, a lot of changes have already merged upstream. So, the best way to maintain updated documentation is to keep it close to the source code. This way, when some changes happen, the developer that wrote such changes can also update the corresponding documents. That works great in theory, but it is not as effective as one might think. The Old Methods of […]

    Read More
  • Consistency is everything. If launching open source projects is part of your job, it is incredibly helpful to have a clear, consistent, and repeatable process for open sourcing code and building a project. Why? There are a few reasons. For one, it increases your odds of success if you can identify the parts of the process that worked well before, and repeat them. Project launches are about people as much as technology. There are actions that attract others, and actions that drive others away; it’s beneficial to remember which is which. If you can’t convince others to join and use your project, you may as well just post the code and be done with it. Another major reason is time. I seriously doubt I’m alone in observing that the typical “We’re launching an OSS project next month! Um, where do we start?” emails usually come with little warning. Most of the time […]

    Read More
  • September 6, 2016 - Reynaldo Verdejo

    Wayland Uninstalled, the Easy Way

    I recently had to start looking at some GStreamer & Wayland integration issues and, as everyone would, commenced by trying to setup a Wayland development environment. Before getting my feet wet though, I decided to have a chat about this with Derek Foreman: our resident Wayland expert. This isn’t surprising because on our team, pretty much every task starts by having a conversation (virtual or not) with one of the field specialists in the group. The idea is to save time, as you might have guessed. This time around I was looking for a fairly trivial piece of info: Me – “Hey Derek, I have Wayland installed on my distro for some reason – I don’t really want to take a look at now – and I would like to setup an upstream (development) Wayland environment without messing it up. Do you have some script like GStreamer’s gst-uninstalled so I can perform […]

    Read More
  • I have recently moved to a new flat and I love it, though unfortunately not all is perfect. One might expect central London (literally 500m away from the actual geographical centre) to have the best internet connection London has to offer. Well, one would be wrong; I am no longer able to get anything better than lousy ADSL2+, and this amazing offering comes with a high price, a long contract, and a month’s wait for the installation. This has led me to choose a 4G internet provider; the connection is usually better than what I would have expected to get with any of the landline providers, is much cheaper, and I had it up and running less than 24hrs after I joined. However, there is a problem with this: the 4G provider uses a carrier-grade NAT, that made impossible to access my home server from outside my home network. Luckily, […]

    Read More
  • Kaffeine version 2.0.4 has been released today, substantially improving its already excellent Digital TV (DTV) support! Update: tarball is now available at: http://download.kde.org/stable/kaffeine/2.0.4/src/kaffeine-2.0.4.tar.xz While version 2.0.4 was meant to solve several bugs reported via the project’s bug tracker, it offers a lot more: DVB-S/S2 Kaffeine improvements Kaffeine now supports the ability to select the Low Noise Blockdown feedhorn (LNBf) among a list of other LNB features used on Digital TV. This list comes from libdvbv5, which provides the backend to setup a satellite configuration. Other Network Information Table Scans Digital TV relies on physical transponders to transmit a signal, and each transponder can carry multiple channels. There’s a special table in the MPEG transport stream that’s responsible for listing the other transponders associated with a given transmission that belong to the same network provider. This table is called the Network Information Table (NIT). Sometimes, there are multiple tables on an […]

    Read More
  • May 13, 2016 - Ben Lloyd Pearson

    10 Steps to Being Successful in Open Source

    No blog is complete without a simplistic numbered list of images, and we’re no exception! Open source methodology can be a complicated subject, but that doesn’t mean we can’t try to boil it down to some easily-digestible snippets. We’re proud to present the 10 simple steps it takes to be successful in open source. All of the images in this article were created by Ibrahim Haddad and are shared under CC-BY-SA-4.0, so feel free to use them in your own work. 1. Setup business infrastructure to support open source It is extremely challenging for a company to be successful in open source if they haven’t setup the proper infrastructure to allow their employees to interact with an open source community; this includes the establishment of both technical infrastructure as well as organizational infrastructure. You need to make sure your developers have the policies, processes, and tools that are required to […]

    Read More
  • April 8, 2016 - Ben Lloyd Pearson

    Common Tools Used in Open Source Development

    This article is part of The Comprehensive Guide to Open Source for Business. Up to this point, this guide has focused on the fundamental characteristics of open source communities and how these communities are organized. One of the major reasons these communities have organized around a relatively standard set of practices is because of the tools that are available to get work done in a distributed community. These tools must support individuals from diverse backgrounds who each have their own unique needs. This article will describe the tools that are commonly used in an open source community and will explain the roles they play in an open source community. Additionally, it will provide some insight into how to get the most out of them. Communication and Problem Solving Development in an open source community includes people from numerous timezones and cultures around the world. The tools used for communication in […]

    Read More
  • February 23, 2016 - Tom Hacohen

    Running letsencrypt as an Unprivileged User

    Running letsencrypt as an unprivileged user (non-root) is surprisingly easy, and even more surprisingly undocumented. There is no mention in the official documentation, nor was I able to find anything online. There are alternative clients that were designed to be run as unprivileged, but they are not as beginner-friendly as the official one. Personally, I’ve switched to acme-tiny (and created an AUR package for it). Its much smaller and lets me have an even more secure setup. Why would you want to bother with this? One word: security. You should always strive to run every process with the lowest privileges possible because this reduces the chances of data loss as a result of a bug. More importantly, this reduces the chances of your server being compromised and thus improves overall security. Summary In this tutorial we will setup letsencrypt to run as an unprivileged user using the webroot plugin. This […]

    Read More
  • During my LinuxCon EU talk last year I briefly touched on the sparse semantic parser tool started by Linus Torvalds in 2003 (slide 7). While it might not be as powerful as other static analyzers I described, it still might be worthwhile to run on your code. Many distributions ship a sparse package already, which makes it easy to test. If not you might want to grab the latest tarball and build it yourself. Once you have sparse installed, running it on your code should be easy as it provides a build wrapper around the CC environment variable. If you do not have any special requirements for CC in your build setup you should be able to run sparse like this:

    Use Filters to Find What Matters Depending on your code, you might be overwhelmed by the amount of warnings and maybe errors sparse is producing. While you should […]

    Read More
  • The usage of https has been so far somewhat restricted on open source projects, because of the cost of acquiring and maintaining certificates. As a result of this and the need to improve Internet security, several projects are working on providing free valid certificates. Among those projects, Let’s Encript launched a public beta last week on December, 3 2015. The Let’s Encrypt Approach Let’s Encrypt is a Linux Foundation Collaborative project that started to fulfill an Electronic Frontier Foundation – EFF long-term mission to Encrypt the Web. According with EFF, the “aim is to switch hypertext from insecure HTTP to secure HTTPS. That protection is essential in order to defend Internet users against surveillance of the content of their communications; cookie theft, account hijacking and other web security flaws; cookie and ad injection; and some forms of Internet censorship.”. With that goal in mind, the Let’s Encrypt project is providing […]

    Read More