As you have probably heard the Entity Framework source code is now available under an open source license. This means that the EF team are ready and excited to take your contributions.
The process for getting and building the EF code and for making contributions are documented on the EF CodePlex site. This series does not cover that information again but instead gives some context to help you in working with the code. This is the same kind of information that you would get if you joined the EF team.
Part 1: Introduction
- This post—an introduction to and overview of the series
- Deciding what to contribute
- How to get additional help
Part 2: The code
- The high-level organization of the code into namespaces and assemblies
Part 3: Testing
- Expectations around testing when you make a contribution
- Types of test, test organization, and testing conventions
- Special considerations for changes to the core code
Part 4: Developer experience
- Expectations around public API and behavior changes
- Breaking changes
Part 5: High-level architecture
- The Entity Data Model (EDM)
- High-level overview of EF sub-systems
Deciding what to contribute
If you want something to get started on, then the EF issue tracker on CodePlex contains bugs that need fixing. Fixing bugs is a good way to start getting an understanding of the code and the process of making a contribution.
It’s great if you want to tackle something bigger than a bug and the EF team is fully supportive of this. If you do want to tackle something bigger than a bug then you should start a discussion on CodePlex so that we can collaborate on the design. It’s also a good idea to read part 4 of this series to ensure whatever you work on meets expectations for the developer experience.
The EF team holds a weekly “design meeting” in which we discuss design and other aspects of writing and maintaining the EF code. We have started putting the notes from this meeting onto our CodePlex site and you might find these notes useful in gaining context for an area that you want to change.
Feel free to contact me (see below) or others on the team if you need help. We want you to make contributions and we will do what we can to make you successful in doing so.
I have started out with five parts to this series but I’m willing to write more if people find it useful. If there is something that you would like to get more information about then let me know by leaving a comment, sending me a tweet, or emailing me (avickers) at Microsoft.
Have fun and I look forward to seeing your contributions!