Open Source Projects We’ve Built And Contributed To

Jul 5
open_source

Open Source Projects We’ve Built And Contributed To

As we provide professional solutions around the Android ecosystem, we wouldn’t exist if open source wasn’t part of this world. From Genymotion’s kernel to Android AOSP itself, here are the open source projects in which we are involved.

Wait… What is “open source” again?

Learn this one by heart: “Open source software is software that can be freely used, changed, and shared (in modified or unmodified form) by anyone” – The Open Source Initiative.

Most of the time open source projects do not include any cost and their code/documentation are public. They are and will always be a big source of innovation as they’re often backed by a huge and dedicated community. Due to their open and community-driven nature, open source projects are based on the principle of continuous improvement.

Before posting one of these “I see what you did there” memes, keep in mind that a big distinction has to be made between open source projects and products built on top of open source projects.

The former can be defined by the sentence we gave you a few lines above – didn’t we say “learn this one by heart”trollface As for the latter, additional and by extension original software development comes into play (plus customer support in some cases).

A few examples:

  • Linux is open source. RedHat Enterprise Linux is built on top of Linux. It is a professional solution with customer support created around that same idea of bringing an open source OS to enterprises.
  • Android is open source. Genymotion is built on top of Android. The core principle (i.e. the emulation of Android) is free of charge. Extras and customer support are available at a cost – what we call “premium features”.
  • The well-known recipe of the chocolate chip cookie is available to anyone. Our own version based on it and made with ❤️ by our awesome cooks is not (too bad for you, yum).

Now that these things are clear, let’s get back to business!

Open source projects we’ve built

Companies can have open source projects (yup). And if we take our own example again, we have a proprietary product (Genymotion) based upon an open source project (Android) and generating open source projects itself.

Still here? Let’s start then! Here are the open source projects we have here at Genymobile:

1. Gm_pr – A multi project GitHub pull request viewer

gm_pr

First on this list, as it saved our life a lot of times! Heard about email overload? Well gm_pr is part of the solution. It basically indexes in a single web page all the GitHub pull requests currently opened, with their status (reviews, labels, milestones, etc.).

Gm_pr helps us a lot in our daily work. We made it open source so it can help you too 🙂 Oh and there’s also a slack bot integration 🤖

Check out gm_pr on GitHub

 
 

2. Genymotion-gradle-plugin – Manage Genymotion’s devices from your Gradle scripts

genymotion-gradle-plugin

Our plugin for Gradle allows to create, launch and configure virtual devices from the build.gradle file. It can be plugged in with any continuous integration servers (Jenkins for instance).

In other words, it brings scripted automated tests to Android virtual devices.

Our GitHub project contains the whole source code of Genymotion’s Gradle plugin and all the documentation you need to set it up properly (download, inclusion, compilation, etc.)

Check out genymotion-gradle-plugin on GitHub

 
 

3.Genymotion-binocle – A demo app for Genymotion’s Java API

genymotion-binocle

Genymotion-binocle allows you to see Genymotion’s Java API in action. It contains activities with behaviors depending on customizable sensor values (GPS location, battery level, network strength, device identifiers, etc.).

Mainly created for support purposes, genymotion-binocle is also a good open source example on how to properly implement tests in your Android applications.

Check out genymotion-binocle on GitHub

 
 

Open source projects we’ve improved

As we’re involved in the Android community, both as a company and as individuals, we are driven to participate in open source projects that we find interesting in terms of innovation and challenge.

The process is simple: a form is available to anyone in the company and can be filled with existing external open source projects as long as the motivations and the strategic ins and outs are clearly described. An internal committee then takes the demand into consideration and decides if Genymobile will get involved.

Projects below are part of them:

1. Android Open Source Project (AOSP)

Android Open Source Project (AOSP) is basically a stack of open source softwares serving as a core basis of the whole Android ecosystem. As you may know, Android AOSP is widely used by manufacturers of the likes of Samsung and HTC.

Part of the contributions our developers made in the name of Genymobile, there’s a fix of the usage of mkbootimg for OTA generation.

See our contribution to AOSP

 
 

2. Sony AOSP

Sony made their own version of the aforementioned AOSP. Sony’s version of AOSP is the open source project to which we’ve contributed the most.

Recent improvements in camera and battery support for Sony Xperias are partly from us 😎

See our contributions to Sony AOSP

 
 

3. MicroG Project

MicroG’s main objective is to reimplement Google Apps in an open source approach. Contributions we’ve made mostly include compilation fixes linked to Android Studio and Gradle generated files.

See our contributions to MicroG Project

 
 

Bottom line

Open source is good. For everyone! It allows you to take the best from professional developers for the sake of your projects (i.e. gm_pr). It enables companies to interact directly with the Android community and improve community-driven projects (i.e. MicroG).

Basically, it makes everything possible! Like using gm_pr to monitor your awesome pull requests on genymotion-gradle-plugin 🙂

Involved in open source projects? Ever contributed to one of ours? Let us know in the comment section! Meanwhile, find out more about Genymobile’s current and future open-source projects at github.com/genymobile.