Contributing to .NET nanoFramework
People contributing to nanoFramework do so in the spirit of Open Source, our community, developers using nanoFramework and, most importantly, pushing the embedded systems world forward together in a community effort.
Funding is necessary for us to manage things like infrastructure costs, carry out PR (including advertising the project to the embedded systems industry, hobbyist communities and academia), marketing work, development and maintenance tasks that no one volunteers to do, supporting projects that we depend on, etc... To this end, we have setup an 'Open Collective' to manage our funding in a completely transparent manner. To make a donation you can use either Open Collective or GitHub Sponsors. Click on the appropriate button bellow.
How can I help
Anyone can help the project in a number of ways:
- Choose to use or ask your employer to use nanoFramework in projects.
- If you are a teacher or work in training, use nanoFramework in your courses, classes and workshops.
- If you are a maker, publish your projects on platforms such as Hackster.io, spread the word by tweeting about us, mentioning us on the forums and communities where you are engaged in.
- Contribute to our various repositories, from the nf-interpreter (where the firmware images that running on the targets devices), to the various class libraries, Visual Studio extension and other various utilities.
- Use nanoFramework in your projects and report back bugs that you find and/or suggest better ways to accomplish something or even new features that can improve the framework.
- Help writing, translating and maintaining the documentation for the various components, getting started guides, tutorials and target devices.
- Hangout on our Discord community and answer questions, provide guidance and mentorship and welcome new members to the community.
- Help in managing, triaging and answering GitHub issues.
- Contribute web designs and creative designs for our project website and/or other graphic and visual needs.
- Become a backer or supporter through our Open Collective or GitHub Sponsors.
- Commissioning new features and sponsoring bug fixes.
- Branding and social networking.
You can ask your employer to improve your (and the company) productivity by using nanoFramework in projects. Explain to them how nanoFramework can help developing an embedded system project, no matter if it's a proof of concept for a potential customer or if it's a complex IoT device. How easy is to use the tools available for a smooth debugging experience.
CTO's, VPs and business owners can also help nanoFramework! nanoFramework along with C# and Visual Studio can give your team a tremendous productivity boost. Imagine slashing the number of hours required to complete a project and making it's maintenance easier. If you're not willing to take our word for it, perhaps you will if it comes from a reputable source in the industry like Altium. Check out this article from their blog, where industry expert Mark Harris goes through a deep analysis on the benefits of using high level programming languages like C# and nanoFramework for embedded projects. It includes some interesting numbers on costs, budgets and estimates.
Besides monetary contribution, companies can support nanoFramework by providing their developers time. This can come from developers that are between projects or tasks and are not actively working on a company project in certain period. Or maybe there is a project already using nanoFramework for which a specific feature is not available yet or requires improvements. Developers working on it can use their time to code that and contribute back to the project.
The project needs people with skills on C/C++ and C# and Azure DevOps. No need to be a subject matter expert! Even the smallest contribution matters.
We welcome embedded system developers familiar with platforms we target, including: ESP32, STM32, TI CC32xx and NXP. Or that are familiar with RTOSes, including: FreeRTOS, ChibiOS and TI SimpleLink.
C# developers with general coding experiencing, coding Visual Studio extension development, coding with Visual Studio debugging components, willing to write unit tests.
Commissioning new features
A great way to get something back from your financial contribution is to commission new features. If your company is working on a new product or project and .NET nanoFramework is missing a feature, could use a couple of APIs that don't exist or even an entire library, just reach out to Eclo Solutions to design and build it. If it's not a secret or something too specific, whit your permission, it can be merged to the codebase and benefit the ecosystem and the entire community.
Sponsor bug fixes
Sometimes bugs hang in the queue for too much sometime. The common triage criteria are the seriousness of the issue (how severely and wide is the impact) and the estimate on how long it takes to fix it. If there is a bug that's being a show stopper for you or your project you can sponsor it's resolution. We'll provide an estimate on the cost to fix it.
Brand advocates and social networking
Besides financial contributions or coding there is a lot more that you can do to help the project. .NET nanoFramework can be an awesome framework to work with and empowers developers with a tremendous productivity boost, but... if just a handful of people know about that? Marketing and advertising cost money that we don't have. You can help by spreading the word.
Do you maintain a blog? Or do you have a bunch of followers on Twitter or LinkedIn? A post about .NET nanoFramework and mentioning @nanoframework can take the project further.
GitHub stars it's an easy and simple contribution to the project. Please spare a few seconds and head over to our GitHub organization and give them a star. It increases the project visibility and it's an indication on how big it's the community around it. Writing a review and classifying our extensions on the Visual Studio marketplace has a positive impact on the project visibility and helps towards increasing the reputation.
Providing a testimonial with an endorsement to the project or highlighting a feature or a situation where it has stand out it's another way of contributing to the project. Email, tweet or send a message on Discord. If you want it to be featured on the web site please include your name, title, company and picture.