4 ms·
There are several ways to contribute to something as big as an OS. Right now I'm contributing to Microsoft's coreclr trying to get it to build and run on FreeB
by josteink 12y ago
There are several ways to contribute to something as big as an OS.
Right now I'm contributing to Microsoft's coreclr trying to get it to build and run on FreeBSD, because I believe having a wide choice of software and software platforms will indirectly aid the project.
If a new project you see doesn't work on your platform, find out why and submit a patch containing your fixes. That will both make it easier for people coming along later and raise awareness of the platform amongst developers.
- justincormack 12y agoIs there much platform dependent code in clr? What kind of things need fixing?
- josteink 12y agoSince .NET sorta tries to be a "mini OS" of its own and performant at the same time, it needs to have all its bells and whistles (Exceptions, context-handling, threads, etc) mapped to whatever the native platform supports. This is mainly done and abstracted in a module called the Platform Abstraction Layer (PAL), which everyone else then relies on. So far the biggest amount of work has been getting in the FreeBSD-specific things, and correcting the codepaths which incorrectly has assumed that any Unix not Darwin/OSX will behave exactly like Linux. You know, ensuring stuff like '#include "gnu/somelib.h"' doesn't get included where it shouldn't, replacing enums with ints here and there. Stuff like that. Except for one component, I've yet needed to genuinely write lots of code. It's mostly been following the build-process and see what fails.
- mulander 12y agoI completely agree. How cooperative is the upstream in regards to porting it to FreeBSD? I am looking at Dart for a while and the upstream doesn't even seem to be interested enough to provide a tarball that would be possible to download without going through the gclient tools (even chrome provided that :().
- josteink 12y agoIt's all on Guthub, it's all normal fork and sending in PRs. They are surprisingly cooperative. And by that I mean, I've never had my patched accepted so willingly. At the same time I've received good advice on style-guides and technical issues with my patches. For errors I don't immediately see a resolution for, I've created issues and usually that has either been picked up by the .NET-team itself or they've provided me enough feedback to work it out myself. When submitting small patches nothing special is needed, but for bigger patches you need to sign a "contributer agreement". Which is done all online, automatically and in a matter of mouse-clicks. The .NET-team has really done a good job here, especially considering how they said "they were really new to this (OSS thing), so please bear with us" when this whole thing was first announced.