Skip to content

Commit 6524c15

Browse files
committed
Update Readme
- remove useless files - fix philips industry
1 parent d31cb9f commit 6524c15

15 files changed

Lines changed: 55 additions & 365 deletions

README.md

Lines changed: 50 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,50 @@
11
![OSCI Logo](images/OSCI_Logo.png)
2-
# OSCI, the Open Source Contributor Index
3-
4-
## What is OSCI?
5-
6-
* OSCI ranks corporate contributions to open source based on the organization’s number of Active Contributors to GitHub
7-
* OSCI also tracks the Total Community of open source contributors for these companies
8-
* The OSCI rankings are published monthly to dynamically track corporate contributions to GitHub. The latest result can be found at EPAM SolutionsHub website's [OSCI page](https://opensourceindex.io/)
9-
10-
## [News update](news.md)
11-
### [July 12th, 2021](news.md#july-12th-2021)
12-
13-
The OSCI ranking has now been updated with the data for [**June 2021**](https://opensourceindex.io/)
14-
15-
The table shows the OSCI ranking for GitHub activity in June 2021. The leading organisations remain consistent once again this month and the overall level of activity has stabilised approaching second half of the year. In addition Amazon and IBM are progressing well above their closest neighbours in growth figures this month.
16-
17-
[Previous updates](news.md)
18-
2+
# Open Source Contributor Index (OSCI)
3+
OSCI, an open source project, aiming to track and measure open source activity on GitHub by commercial organizations. It allows organizations, communities, analysts and individuals involved in Open Source to get insights about contribution trends among commercial organizations by providing access to up-to-date data through an intuitive interface.
4+
5+
### Table of contents
6+
- [How does OSCI work?](#how-does-osci-work)
7+
- [How are commit authors linked to commercial organizations?](#how-are-commit-authors-linked-to-commercial-organizations)
8+
- [How can I submit my company for ranking?](#how-can-i-submit-my-company-for-ranking)
9+
- [How can I contribute to OSCI?](#how-can-i-contribute-to-osci)
10+
- [Quick Start](#quickstart)
11+
* [Installation](#installation)
12+
* [Configuration](#configuration)
13+
* [Sample run](#sample-run)
14+
- [OSCI Versioning](#osci-versioning)
15+
- [License](#license)
16+
- [Contact Us](#contacting-us)
1917

2018
## How does OSCI work?
2119

22-
* OSCI analyses push event data from [GH Archive](https://www.gharchive.org/)
23-
* The Author Email address field in the commit event data is used to identify the organization to which the commit author belongs
24-
* OSCI measures the Active Community (10+ commits) and the Total Community (1+ commit) at each organization
25-
* Analysis is done for the current year-to-date
26-
* OSCI’s algorithm is transparently published as an open source project on GitHub
27-
20+
To create this index, the system processes GitHub push events data from [GH Archive](https://www.gharchive.org/):
2821

2922
![GitHub OSCI Schematic Diagram](images/OSCI_Schematic_Architecture.png)
3023

31-
## OSCI Versioning :newspaper:
32-
We decided to use special versioning `(<year>.<month>.<number of patch >)` e.g. `2021.05.0`. This will provide us with a
33-
clearer understanding of the relevance of the product.
34-
Also, date of
35-
[adding a new company](#how-can-i-add-a-company-which-is-missing-from-the-osci-ranking) is very important and versioning
36-
releases depending on the date looks more logical.
37-
This is supposed to be a monthly update of the release.
38-
39-
40-
## How did we decide on the ranking logic?
41-
42-
We realize that there are many approaches which could be used to develop this ranking. We experimented extensively with these before arriving at the logic now used.
43-
44-
We concluded the Author's Email Domain in the Push Event data is the most reliable way to identify the organization to which a commit author belongs. It is a single unambiguous identifier.
45-
It is true that many people on GitHub do not use the email address of their employer or keep it private, but it is still a more reliable single measure compared with alternatives. The org of the repo is not a good measure of the employer of an individual because the employees of most companies maintain projects in multiple GitHub orgs.
46-
47-
We concluded that 10+ commits in a year - while arbitrary - is a reasonable measure of whether a person is an active contributor to GitHub.
48-
It is interesting to compare this with the size of the broader community at an organization - this is why we also record the number of people with just 1 or more commits in the time period.
49-
50-
We decided to base the ranking on the number of people making commits, rather than the number of commits. The GitHub push event data includes large numbers of pushes made by automated processes using an email domain from an organization. Counting the number of pushes is not a good measure of the community at an organization, when the results are considerably skewed by these automated processes.
24+
OSCI tracks two measures at each organization:
25+
- **Active contributors**, the number of people who authored 10 or more commits over a period of time
26+
- **Total community**, the number of people who made at least one commit over a period of time
5127

52-
Our technical design assessed multiple source of data and we concluded that [GHArchive](https://www.gharchive.org/) is best suited for our needs, based on ease of access to the data, the amount of data it records, and the size of the data.
53-
[GHTorrent](http://ghtorrent.org/) is also very interesting for future use, since it contains a richer set of data, however the data sizes are considerably larger which drove our decision to go with GHArchive.
28+
## How are commit authors linked to commercial organizations?
5429

55-
## What does OSCI not do?
30+
The system uses email domain of the commit author to identify the organization. Your organization is missing in the ranking? Feel free to add your organization to the list.
5631

57-
OSCI does not include educational and research institutions, contributions from free email providers, etc. The focus is on commercial organizations.
32+
*Note: OSCI does not rank open source activity contributed by universities, research institutions and individual entrepreneurs.*
5833

59-
## Prior work in this area
34+
## How can I submit my company for ranking?
6035

61-
Our inspiration for OSCI is the work done earlier in the Open Source community, so we wish to give credit to these:
62-
* GitHub published an analysis for 2016 which included the organizations with the most open source contributors https://octoverse.github.com/2016/. GitHub have also published similar studies in 2017 and 2018.
63-
* Felipe Hoffa published a detailed analysis of 2017 data at https://medium.freecodecamp.org/the-top-contributors-to-github-2017-be98ab854e87. Felipe's logic used email domain to identify organizations, counted commits only to projects with more than 20 stars during the period, and counted users with more than 3 pushes during the period. Further details are available in the article.
64-
* Fil Maj also analysed 2017 data and counted users with 10 or more commits during the period https://www.infoworld.com/article/3253948/who-really-contributes-to-open-source.html
65-
66-
67-
## Where can I see the latest rankings
68-
This project is created by EPAM Systems and the latest results are visible on the [OSCI page](https://opensourceindex.io/). The results will be updated and published each month.
69-
70-
## How I can contribute to OSCI
71-
If you would like to contribute to OSCI, please take a look at our guidelines [here.](CONTRIBUTING.md)
72-
73-
## What if your think your organization is missing or you believe there is an error in our logic
74-
If your organization is missing from our ranking then simply follow the instructions below to modify the companies filter and add your own organisation. We're also more than happy to listen to any feedback you have that may help us to improve. Contact us at [OSCI@epam.com](mailto:OSCI@epam.com) to share your feedback and raise any questions.
75-
76-
## How can I add a company which is missing from the OSCI ranking
77-
The goal of the OSCI is to rank the GitHub contributions by companies (commercial organizations).
78-
79-
In order to add a company to the OSCI ranking, do the following:
80-
81-
1) Check whether the organization you propose to add matches our definition of a company:
82-
- is not an educational, governmental, non-profit or research institution;
83-
- is not a free-mail, like gmail.com, yahoo.com, hotmail.com, etc;
84-
- is a registered, commercial company;
85-
- a simple "rule of thumb" - does the organization's website sell a product or service? If not, it is probably not a company by our definition.
36+
1) Check whether the organization you propose to add matches OSCI definition:
37+
- not an educational, governmental, non-profit or research institution;
38+
- registered, commercial organization;
39+
- sells goods or services for the purpose of making a profit.
8640

8741
1) Create a new pull request.
8842

8943
1) Go to company domain match list ([company_domain_match_list.yaml](osci/preprocess/match_company/company_domain_match_list.yaml))
9044

91-
1) Confirm that the company you wish to add is not listed.
45+
1) Double check that the organization you want to add is not listed.
9246

93-
1) Add the **main domain** of the company and the company name to the table. For example:
47+
1) Add the **email domain** of the company and the company name to the table. For example:
9448
```yaml
9549
- company: Facebook
9650
domains:
@@ -134,16 +88,18 @@ In order to add a company to the OSCI ranking, do the following:
13488
industry: Media & Telecoms
13589
```
13690

137-
We will review your pull request and if it matches our requirements, we will merge it.
138-
It's important to add at **the start
139-
of the month** a new company, because the rating depends on previous data, i.e. data for the beginning of the month.
140-
Furthermore, this will lead to OSCI release consistency.
91+
Our team will review your pull request and merge it if everything is correct.
14192

142-
# QuickStart
143-
## Technical Note
144-
We built OSCI this an Azure cloud environment using Azure DataFactory, Azure Function and Azure HDInsight.
145-
The code published here on GitHub does not require the Azure cloud. You can reproduce everything in the corresponding instruction with the CLI (command line interface).
146-
## Installation
93+
*Note: since OSCI processes the data for the previous month, you'll see your organization's rank in the beginning of the next month.*
94+
95+
## How can I contribute to OSCI?
96+
See [CONTRIBUTING.md](CONTRIBUTING.md) for details on contribution process.
97+
98+
## QuickStart
99+
OSCI is deployed into Azure Cloud environment using Azure DataFactory, Azure Function and Azure DataBricks. However, the code available on GitHub does not require using of Azure Cloud.
100+
Run the application from the command line using the instruction below.
101+
102+
### Installation
147103
1) Clone repository
148104
```shell script
149105
git clone https://github.com/epam/OSCI.git
@@ -157,11 +113,11 @@ The code published here on GitHub does not require the Azure cloud. You can repr
157113
pip install -r requirements.txt
158114
```
159115

160-
## Configuration
116+
### Configuration
161117
Create a file `local.yml` (by default this file added to .gitignore) in the directory [`osci/config/files`](osci/config/files).
162118
A sample file [`default.yml`](osci/config/files/default.yml) is included, please don't change values in this file
163119

164-
## Sample run
120+
### Sample run
165121
1) Run script to download data from archive (for example for 01 January 2020)
166122
```shell script
167123
python3 osci-cli.py get-github-daily-push-events -d 2020-01-01
@@ -174,6 +130,12 @@ A sample file [`default.yml`](osci/config/files/default.yml) is included, please
174130
```shell script
175131
python3 osci-cli.py daily-osci-rankings -td 2020-01-02
176132
```
177-
178-
# License
133+
134+
## OSCI Versioning
135+
For a comprehensive OSCI versioning we adopted the following approach `<year>.<month>.<number of patch >`) e.g. 2021.05.0. We expect regularly monthly updates including releases associated with submission of a new company for ranking.
136+
137+
## License
179138
OSCI is licensed under the [GNU General Public License v3.0](LICENSE).
139+
140+
## Contact Us
141+
For support or help using OSCI, please contact us at [OSCI@epam.com](mailto:OSCI@epam.com).

archive/2019.08_OSCI_Ranking.xlsx

-18 KB
Binary file not shown.

archive/2019.09_OSCI_Ranking.xlsx

-18.7 KB
Binary file not shown.

archive/2019.10_OSCI_Ranking.xlsx

-19.7 KB
Binary file not shown.

archive/2019.11_OSCI_Ranking.xlsx

-19.8 KB
Binary file not shown.

archive/2019.12_OSCI_Ranking.xlsx

-19.8 KB
Binary file not shown.

archive/2020.01_OSCI_Ranking.xlsx

-20.4 KB
Binary file not shown.

archive/2020.02_OSCI_Ranking.xlsx

-20.8 KB
Binary file not shown.

archive/2020.03_OSCI_Ranking.xlsx

-22.6 KB
Binary file not shown.

archive/2020.04_OSCI_Ranking.xlsx

-22.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)