Open Source

There are a lot of corporations, non-profits, higher education institutions, and even governments, that share some of the software they created for themselves under an Open Source license.

It is very interesting to see and also an opportunity to increase your chances of employment. Make yourself familiar with their code, open some issues, send some pull-requests. If you are lucky they might notice you and offer you a job. Even if that does not happen you can include your contribution in your CV and you can mention it during the ineterview.

Somewhat surprisingly there are many local and country-wise governments around the world that share some of their software under and Open Source license. We are collecting them in this list.

The following Universities and other Higher Education Institutions have projects of their own that were released under an Open Source license. Here you can find links to the GitHub organizations of the institutions or that of specific labs or departments of these institutions.

If you know more send a Pull-Request or open an issue with the links.

In this repository we collect these organizations.

Why would you want to contribute to

Corporations?

There are a lot of corporations that share some of the software they created for themselves under an Open Source license. It is very interesting to see and also an opportunity to increase your chances of employment. Make yourself familiar with their code, open some issues, send some pull-requests. If you are lucky they might notice you and offer you a job. Even if that does not happen you can include your contribution in your CV and you can mention it during the ineterview.

Governments?

Somewhat surprisingly there are many local and country-wise governments around the world that share some of their software under and Open Source license. We are collecting them in this list.

Non-profits?

If they help the world and you help them, then you help the world too, right?

File format

data/organisations/

Some corporation and universities have multiple GitHub organizations. For example in a university each research lab might have its own GitHub organization. In order to have store common information about these we have a separate folder called organisations/ where we have a YAML file for each such corporation or university. The YAML files in the github/ folder can refer to this entity by adding the org: field.

For example see the Bosch entries.

Required fields: type, url. Optional fields: city, state, country

name:
type: corporation university gov non-profit other
url:
city:
state:
country:

data/github/

We store information about GitHub organizations (not about individual GitHub repositories). The name of the file is github/ORGA.yaml where ORGA is the exact same name as https://github.com/ORGA/. The exact case will be used to display the name of the repository.

Required fields: name and either type or org.

Optional field: city, state, country.

org:
name:

Valid values

Valid values for the type field can be found in the config.yaml file as the keys of the org_types section.

Local development

  • Clone repo
git clone git@github.com:OSDC-Code-Maven/open-source-by-organizations.git
cd open-source-by-organizations
  • Setup virtualenv end install python dependencies
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt -c constraints.txt
  • Generate GITHUB token

Then create the environment variable with the value:

export MY_GITHUB_TOKEN=.....
  • Collect all the data and generate web site. The following can take several minutest. It might be better to specify a few YAML files and only work with those as in the next command.
python generate.py
  • Collect only information only about these two github organizations.
python generate.py data/github/bioinform.yaml data/github/calgaryml.yaml
  • Start the local web server
./app.py

Visit the site at http://localhost:5000/

Dependabot and upgrading dependencies

While we have dependabot enabled it will open PR for each upgrade separately and then the CI won't run for all of them.

Our alternative is to run this once a month:

virtualenv -p python3 venv
source venv/bin/activate
pip install -U -r requirements.txt
pytest
pip freeze > constraints.txt