Tag / Development Process

  • February 22, 2017 - Javier Martinez Canillas

    Samsung OSG Contributions to Linux Kernel 4.10

    Linux 4.10 was released on February 17; for this release, 6 engineers from the US and UK branches of the Samsung Open Source Group (OSG) contributed 341 patches that modified 44,709 lines of code. Again, most of the changes comes from Mauro Carvalho Chehab’s work to improve the Linux kernel documentation and fixing bugs all over the media tree. The following is a list of the OSG engineers that contributed to this release and the number of changesets and lines of code, as reported by Jonathan Corbet and Greg Kroah-Hartman’s gitdm tool. OSG developers by changesets Mauro Carvalho Chehab 231 67.7% Javier Martinez Canillas 77 22.6% Stefan Schmidt 11 3.2% Shuah Khan 11 3.2% Luis de Bethencourt 10 2.9% Derek Foreman 1 0.3% OSG developers by changed lines Mauro Carvalho Chehab 44,120 98.7% Luis de Bethencourt 162 0.4% Javier Martinez Canillas 156 0.3% Stefan Schmidt 145 0.3% Shuah Khan 92 0.2% Derek […]

    Read More
  • December 15, 2016 - Javier Martinez Canillas

    Samsung OSG Contributions to Linux Kernel 4.9

    Linux 4.9 was released on December 11, making this release the biggest to date in number of changes. In this development cycle, the Samsung Open Source Group (OSG) contributed 394 patches that modified 15,856 lines of code. Although 4 engineers contributed to different Kernel subsystems, most of the changes comes again from Mauro Carvalho Chehab’s work to improve the Linux kernel documentation. The following is a list of the OSG engineers that contributed to this release and the number of changesets and lines of code, as reported by Jonathan Corbet and Greg Kroah-Hartman’s gitdm tool. OSG developers by changesets Mauro Carvalho Chehab 238 60.4% Javier Martinez Canillas 108 27.4% Shuah Khan 24 6.1% Luis de Bethencourt 24 6.1% OSG developers by changed lines Mauro Carvalho Chehab 14,747 93.0% Javier Martinez Canillas 518 3.3% Shuah Khan 314 2.0% Luis de Bethencourt 277 1.7% OSG Contributions to This Release On this release, […]

    Read More
  • As my friends and colleagues know, I think the history of a project is very important for development. Being able to bisect, blame or read the log have proven very useful for finding bugs and understanding why a piece of code was written the way it was. Therefore, it makes sense to do whatever is possible to make sure history is preserved when moving files across repositories. Luckily for us, git has made it extremely easy. Merging Repositories Merging a repository (bar) into another repository (foo) is easy.

    This is it. It is very simple and retains all of the history from bar while maintaining the same commit hashes! This means that for example daed567e will point to the same commit in both foo and bar. Unfortunately it is not always that simple. Sometimes you may face conflicts, if for example you had a README file in both repositories, […]

    Read More
  • January 22, 2016 - Bryce Harrington

    Using the Allmodinfo Script to Investigate Linux Drivers

    I’m setting up a new system at work, and yet again found myself faced with trying to nut out which driver corresponds to which device, so I can figure out what’s wrong with the touchpad and keyboard hotkeys.  I’m also curious what wired and wireless drivers are in use and if there’s any unneeded power sucks I could eliminate to increase battery life. This article will show you a quick hack I put together to identify the drivers my laptop uses so I can search for information about them on the web.

    Read More
  • January 15, 2016 - Ben Lloyd Pearson

    Common Characteristics of an Open Source Community

    This article is part of The Comprehensive Guide to Open Source for Business. Open source communities are as complex as the diverse individuals that contribute to them, and there is no one-size-fits-all definition of how they operate. With that said, there are a lot of common fundamental practices and organizational strategies that many communities migrate towards. This article will provide a general definition of how open source communities are organized and operate in order to provide greater context for the rest of the guide. New definitions Open Source – Denotes software for which the original source code is made freely available and may be modified and redistributed. Upstream (noun) – The originating open source software project upon which a derivative is built. Maintainer (Committer) – An individual who is responsible for organizing code into source repositories, committing patches, and building the source code into binary packages for distribution. Community Organization […]

    Read More
  • November 23, 2015 - Javier Martinez Canillas

    Samsung OSG Contributions to the Linux Kernel 4.3

    Linux 4.3 was released two weeks ago; 5 engineers from the Samsung Open Source Group (OSG) contributed 168 patches that modified 4002 lines of code in a handful of kernel subsystems. The following list is all of the OSG engineers that contributed to this release and the number of changesets and lines of code as reported by Jonathan Corbet and Greg Kroah-Hartman’s gitdm tool. OSG developers by changesets Javier Martinez Canillas 65 38.7% Mauro Carvalho Chehab 56 33.3% Luis de Bethencourt 44 26.2% Mario Smarduch 2 1.2% Stefan Schmidt 1 0.6% OSG developers by changed lines Mauro Carvalho Chehab 1823 45.6% Javier Martinez Canillas 1746 43.6% Luis de Bethencourt 345 8.6% Mario Smarduch 76 1.9% Stefan Schmidt 12 0.3% Mauro worked on cleanups and bugfixing in the media subsystem and considerably improved the media DocBook. Javier worked on cleanups and bugfixing in ARM Exynos support and fixed module autoloading for […]

    Read More
  • June 29, 2015 - Jon A. Cruz

    How to Make Software Testing Work for You

    Testing is a vital aspect of the software development process. Most software developers should already know this, but if you find yourself working with people who disagree, it might be time to step back and take stock of the situation. Being familiar with common terminology is a good first step (if this topic is new to you, I advise you to read that article), but decisions about the details of testing implementation can often get tricky. The first among these decisions is deciding when it’s necessary to test. Is it Time to Test? For developers, this question has a simple answer: Yes. If you are coding, you should be testing. Between unit testing and system/integration testing, most development phases should be covered by some sort of test. Different phases might involve different types of testing, but some form of testing should be going on throughout. With that said, everything that […]

    Read More
  • We’re approaching (in a few months) the 24th anniversary of the famous email that Linus Torvalds (then an anonymous college student) sent to the world announcing his ‘hobby’ operating system (Linux). A lot has changed since that email, and while Linus still maintains ultimate veto power over what goes into the Linux Kernel, the fundamental tenet of letting go of a portion of the control over his project to gain the advantages of mass collaboration remains. This is at the core of all open source projects, and even in 2015 it seems to be a lesson that some people in Corporate America still haven’t fully grasped. The good news is that pretty much every industry has recognized the huge value of consuming open source, whether it be for internal use in their enterprise infrastructure, or as the basis for successful product lines. However, there is still widespread corporate reluctance to […]

    Read More
  • April 24, 2015 - Jon A. Cruz

    The Tangled Terms of Testing

    Overview When it comes to testing, most developers admit they probably don’t do as much as they should. Developers, testers and even end users get blocked for various reasons, but one of the initial reasons is becoming overwhelmed by the various terms and approaches. Buzzwords abound, including phrases like: black box, white box, unit, incremental integration, integration, functional, system, end-to-end, sanity, regression, acceptance, load, stress, performance, usability, install/uninstall, security, compatibility, comparison, alpha and beta. Using testing related terms can even influence developers to do the opposite of what they need to. Getting a handle on what exactly “unit testing” means can help break through the quagmire and move on to being more productive. The two subjects being covered here are “levels” of testing and automated/build-time testing. Levels of Testing First, it helps to group a few related terms and lay out their basics. If you group testing by levels, it […]

    Read More