Welcome to OpenMined! The goal of this Welcome Package is to help you:
get to know who we are and what we do,
find the best place for you to fit into the community,
and get started on your path to contributing in your unique way!
We're happy you're here. :)
Before getting started, it's important to understand OpenMined's mission:
To lower the barrier to entry to privacy preserving technology.
This means that we want to help you by both making your products and research better, and protecting you along the way.
Check out OpenMined's 2020 Roadmap for more about how we plan to make this happen!
We also want to make sure that OpenMined is a welcoming community to anyone who wants to join. To that end, check out our code of conduct for information on how to make sure we continue to be such.
OpenMined's teams are split into 3 categories: development, community, and research, so there is room for everyone to contribute!
For more detailed information on each of our teams, click the links below:
OpenMined's teams work together on many different projects and repositories. Here is a short overview of our main development projects and what they do:
- PySyft: A library for encrypted, privacy preserving machine learning (in Python)
- PyGrid: A Peer-to-peer Platform for Secure, Privacy-preserving, Decentralized Data Science (in Python)
- PyDP: A python wrapper for https://github.com/google/differential-privacy (in C++ and Python)
- SyferText: A privacy preserving NLP framework (in Python)
- syft.js: The official Syft worker for Web and Node (in Javascript)
- And many more! Check out all of our projects here.
Check out these charts for more detailed information about how all of these projects work together:
To see which project(s) each team actually works on:
- click here for Development Projects,
- click here for Community Projects,
- and click here for Research Projects.
To get started working on these projects, check out our tutorials below.
The first thing you should do is join our Slack community. This is the best place to ask questions, meet other team members, and stay up to date on what's going on in the community.
Once you have joined the Slack organization, there are many channels that you can join for help and community, including:
- Community Channels: You can introduce yourself and meet other members in the community channels, for instance, #introductions or #com_women-of-om
- Beginner-friendly and Support Channels: If you haven general questions or need help with specific OpenMined libraries, take a look or post your questions in the #beginners or #support channels.
- Topic Based Channels: Search for channels by area of interest, for example: #federated-learning, #differential-privacy, #healthcare, #recommender-systems
- Sharing Channels: Community channels for sharing interesting papers, job opportunites or laughs, visit #research-papers, #jobs or #memes
- Education Channels: If you'd like to talk to fellow students or ask questions related to the FREE Privacy and AI Courses visit the #courses channel.
By filling out 👉 this form you can help us help you and leadership have a single place to browse the skills and interests of those new to the community.
The OpenMined Learning Team is here to help you get started and work through the materials. To join our community of learners (and any of our cohorts, bootcamps, or study/discussion groups), join our Slack team and join the channel #courses!
For more help from the community as you work through these materials, check out our other Slack channels above. You can ask for help in the #beginners or #support channels, or the specific channel related to the area you're working on (e.g. #federated-learning or #natural-language-processing), and join the #introductions channel for more helpful resources!
A good way to get an overview of the technology OpenMined uses, is to watch one of Andrew Trask's presentations. Here are two examples, one shorter and one longer, that will give you a good starting point:
- 15 Minutes: Privacy Preserving AI - Andrew Trask, OpenMined. | DevCon
- 1 Hour: Privacy Preserving AI (Andrew Trask) | MIT Deep Learning Series
If you're interested in taking a deep dive into these technologies, we have also released a series of FREE courses called the Private AI Series! Check out the Private AI Series here.
Course 1: Our Privacy Opportunity
Privacy infrastructure is changing how information is managed in society. In this course, you'll learn how it creates both opportunity and disruption within nearly every corner of society and how you can join this next great wave of innovation.
Click here to learn more or start the course
Course 2: Foundations of Private Computation
Become a data scientist and statistician capable of studying data you do not own and cannot see. Learn every major privacy-preserving technique to an intermediate level, understand how they work together, and how you can use them to safely study data owned by another organization (such as another university, enterprise, or government) without ever seeing the underlying data yourself.
Click here to learn more or start the course
Once you have an understanding of the technologies used, our tutorials are the best places you can get started. Here are links to our tutorials, once you're ready to jump in:
- Building Safe A.I.: A Tutorial for Encrypted Deep Learning
- Tutorials: syft.js
- Tutorials: PyDP
- Tutorials: SyferText
For more information about what each of these libraries does, check out the Projects and Repositories section above.
Once you have a bit of an idea of how these libraries work, our Good First Issues are a great place to start contributing:
- Good First Issues: PySyft
- Good First Issues: PyGrid
- Good First Issues: syft.js
- Good First Issues: PyDP
- Good First Issues: SyferText
The learning materials above prepare you to join a team and become a contributing member of OpenMined! Once you have gotten to know our code base a bit, check out the links below for information on how to join the team you're most interested in!
- OpenMined Blog
- OpenMined Website
- Donate to OpenMined
- OpenMined Swag Store
- OpenMined Brand Guide
- OpenMined Newsletter Signup
For more resources to help you learn about the specific technologies used in our projects, check out our collection of Educational Tools here.
We also understand that many people within our community are not machine learning engineers professionally, so we have put together a list of Beginner Friendly OpenMined Terminology that one might hear when working inside this community. Check that out here, and feel free to create issues for any terms you would like to see added to this list!
If you're interested in seeing what's going on in the world of OpenMined feel free to follow on the OpenMined Social Media channels!