GithubHelp home page GithubHelp logo

opensource-observer / oso Goto Github PK

View Code? Open in Web Editor NEW
53.0 6.0 13.0 52.91 MB

Measuring the impact of open source software

Home Page: https://opensource.observer

License: Apache License 2.0

TypeScript 35.57% JavaScript 1.04% CSS 0.46% Python 36.02% Shell 0.18% HTML 1.47% Dockerfile 0.34% PLpgSQL 0.39% HCL 2.75% MDX 21.56% Smarty 0.21%
data-visualization grants-management impact-analysis open-source public-goods

oso's People

Contributors

ccerv1 avatar chuxinh avatar darobin avatar even-wei avatar karibaea avatar omahs avatar ravenac95 avatar ryscheng avatar tomfutago avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

oso's Issues

Setup Supabase dev database

Describe the feature you'd like to request

We should be using the supabase dev database when developing, not working off prod.

Describe the solution you'd like

package.json scripts for starting up a database and README instructions on how to use it

Describe alternatives you've considered

N/A

Docs: Science retrofunding proposal

What is the improvement or update you wish to see?

A 1-pager that concisely proposes a science retrofunding program

Is there any context that might help us understand?

  • Initial focus will probably be something in computer science and open source software, with a hint to how it can be generalized
  • Audience will be traditional funding institutions (e.g. government agencies)

Does the docs page already exist? Please link to it.

SB draft on Gdocs

[os] Rewrite GitHub fetching scripts as idempotent Typescript

Describe the feature you'd like to request

https://github.com/hypercerts-org/hypercerts/blob/main/os-observer/src/events/github_events.py
Thanks Carl for getting this started!

Describe the solution you'd like

This needs to be rewritten as idempotent Typescript functions that can be plugged into the os-observer CLI and library. See here for how that's set up: hypercerts-org/hypercerts#741

If we write it in TS connected to this harness, it should automatically work in the following environments:

  • From the command-line
  • From GitHub actions (manually triggered atm)
  • Exported as a library (see frontend/ for an example of usage)
  • From an API (currently exposed at https://www.opensource.observer/api/*)

Describe alternatives you've considered

Sticking to Python

[IROI] compile Github activity metrics for all RPGF2 grants

Currently starting with commit histories to the main branch in a project repo:

Next steps:

  • Create query for repos owned by individuals (rather than organizations)
  • Create handling for repos that have no activity vs repos that don't exist
  • Compile summary analytics on repo availability for all RPGF2 grant recipients

Measure paper citations from source code repositories

Describe the feature you'd like to request

Sometimes (e.g. common ML libraries) that README files or documentation will link to the academic papers that inspired it.
It would be nice to be able to measure citations between software and papers, as easily as we measure citations among papers

Describe the solution you'd like

TBD

Describe alternatives you've considered

TBD

[OS] Run jobs on GitHub actions

Describe the feature you'd like to request

Would love for our data fetching scripts to run on the regular in GitHub Actions CI.

Describe the solution you'd like

This includes:

  • Refactoring our scripts to be idempotent
  • Setting up a standard environment (either in Docker or actions config)
  • Setting up a new GitHub actions environment for secrets

Describe alternatives you've considered

N/A

Buy OSS impact certificates widget

Describe the feature you'd like to request

It should be as easy to integrate the selling of OSS impact certificates, as it is to sell carbon credits today (which many retailers do as part of their checkout experience)

Describe the solution you'd like

TBD

Describe alternatives you've considered

TBD

GitHub README badge for impact

Describe the feature you'd like to request

We should produce a README badge for GitHub repos that conveys a project's impact. Some proposals of what it might show:

  • how many packages depend on me both directly and indirectly.

This number should convey social meaning, ideally more than GitHub stars does today.

Describe the solution you'd like

A dynamic image server that renders the badge based on reverse dependency data.

Describe alternatives you've considered

TBD

[os] Autocrawl mode in os-observer CLI

Describe the feature you'd like to request

Want the CLI to be able to scan the EventSourcePointer table and fetch all data that's marked for autocrawl.

Describe the solution you'd like

a new yargs command called autocrawl that just automatically scans the EventSourcePointer table, selects all rows marked for autocrawl, and run the command with args.

This can be run in a scheduled GitHub actions job periodically

Describe alternatives you've considered

N/A

Segment integration

Describe the feature you'd like to request

We'll probably want to move the Sentry integration behind this

Describe the solution you'd like

Also makes it easy to add FullStory, Amplitude etc.

Describe alternatives you've considered

N/A

Cache any pre-computed steps

Describe the feature you'd like to request

This is going to take a bit more thought, but we might want to cache some pre-computation, to reduce the load on render.

As a naive strawman, we should check if we can run queries that group by date.
If not, should we pre-compute that?

Probably we want to wait on this till after
#59

Describe the solution you'd like

TBD

Describe alternatives you've considered

TBD

Seed Open Source Observer website with analyses

What is it?

Please comment on this issue with pre-made analyses that could be interesting (okay to try and cull later)

To get it started:

  • Ordered list of projects that are most productive (e.g. GitHub issues closed or PRs merged) with funding spent (e.g. expenses)
  • Ordered of projects that are most underfunded (e.g. most downloads with least amount of total funding)
  • Ordered list of projects with highest growth in downloads per unit dollar funded

[os] Reverse dependency UX design

Describe the feature you'd like to request

Exploring reverse dependency data is probably pretty useful just as a standalone UX.

Describe the solution you'd like

We should enumerate some design ideas, but here are some to start:

  • Search + Profile pages for npm packages that tells you more about who depends on me
  • Leaderboards that show the most depended on npm packages in the ecosystem
  • Visualizations on how big and deep my reverse dependency tree is

Describe alternatives you've considered

TBD

Measure software capabilities via GitHub actions

Describe the feature you'd like to request

For a particular piece of software, we might want to see if it has certain capabilities, which could be:

  • functionality related
  • performance related
  • compatibility related

Describe the solution you'd like

These could be measured via unit tests or integration tests in GitHub actions

Describe alternatives you've considered

TBD

CI/CD Prisma migrations

Describe the feature you'd like to request

We're now using Prisma as our ORM. We have been running migrations locally against prod, which isn't great.

This issue depends on finishing this first
#51

Describe the solution you'd like

Let's have GitHub actions run migrations via CI/CD

Describe alternatives you've considered

N/A

Index onchain event metrics

Impact

  • Transactions
  • Internal transactions [nice to have]
  • Gas fees generated
  • Number of unique addresses interacting with the contract
  • Number of monthly active users
  • Number of returning users over a given period

Activity

  • Contracts deployed

Financing

  • Grants received
  • Funds dispersed
  • Token transfers (send/receive)
  • Expenses

[os] Reverse dependency data structures

Describe the feature you'd like to request

We should first look to see if this data set already exists. If not, we'll need to build it ourselves and store it in our database

Describe the solution you'd like

First comment on this issue with resources that might be related
Then design a schema for how we'd want to store this data in our database.

Describe alternatives you've considered

TBD

Extract software artifacts and funders from academic papers via NLP

Describe the feature you'd like to request

There's 2 things we care about coming from scientific papers:

  • What research artifacts were produced, especially open source software
  • Who were the funders? (e.g. from the acknowledgements section)

Describe the solution you'd like

Using some NLP/ML solution for pulling out that data

Describe alternatives you've considered

TBD

Consider switching to pnpm

Describe the feature you'd like to request

https://pnpm.io/

Not a decision, but a placeholder to discuss. Yarn takes a full 2 minutes now in the monorepo.
Some considerations to take into account in this decision:

  • How fast is the package manager for development?
  • How fast is the package manager in CI/CD?
  • How cacheable are the dependencies in CI/CD?

Describe the solution you'd like

yarn => pnpm

Describe alternatives you've considered

Stick with yarn or go with npm

[IROI] create basic web app to visualize impact + funding over time for a project

Basic UI:

  • A user can select a project from a dropdown.
  • The app displays two line charts: one for impact over time, another for account balance over time
  • The app provides some basic IROI summary statistics (eg, total inflows, total outflows, avg outflows per month, total commits, num commits per month)

This can be done pretty easily with something like Plotly, once that database is in place.

Use tracing as an impact measurement

What is it?

We can use tracing libraries or code coverage libraries to see what pathways of code are actually being run. When you combine that with reporting infrastructure, you can create a heatmap of which lines of code are used more than others.

Not a perfect measure of importance, but could be interesting. Thanks Nick for the idea!

Fetch data from OpenAlex

Describe the feature you'd like to request

https://openalex.org/

Describe the solution you'd like

  • Would be nice to be able to track value attribution from funders => papers => software

Describe alternatives you've considered

Need to brainstorm other ways to get at academic value pathways

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.