Microsoft Adopted One of My Open Source Projects
(For the impatient, here's the project: https://github.com/microsoft/vscode-gradle)
A while back I was doing Java development in VS Code and wanted to run Gradle tasks without having to use the terminal. I found an extension that provided basic Gradle task support but it was unpublished from the marketplace, so I decided to fork it and publish it.
The first version of the extension was incredibly basic, and over time I refactored the extension several times to:
- Use a long running Java server
- Use the Gradle Tooling API to interact with Gradle
- Use gRPC for communication
Eventually the extension became quite useful and popular, reaching well over 150,000 downloads. Then one day a project manager from Microsoft contacted me asking for call to discuss the project, which I happily agreed to. They liked the project and wanted to incorporate it into their Java extensions pack for VS Code. We discussed different options for collaboration, but I said I was more than happy to transfer all ownership, as I had stopped doing Java development in my day job and was finding it hard to maintain the project. The only thing I requested was for the licence to get kept in place. (This was actually something they suggested and I agree to it.)
A few weeks later the project was transferred to Microsoft. Since then they've been doing amazing work and the extension is going to be really useful, providing a lot of missing Gradle features, but at the time of writing (October 2021) they are yet to release all the awesome new features.
Some people have asked why I didn't ask for more from Microsoft. I had after-all put many, many hours into the project only to just give it away. My answer to that is I am simply happy to be have been part of something that has been, and will continue to be useful for others. It gives me a feeling of satisfaction that I've achieved something for the right reasons. I will continue to do Open Source work, when time allows.
gRPC JS
A nice side-effect of working on
vscode-gradle
is I was able to help test and contribute to the
grpc-js
project.
Contributions I made to help with gRPC & TypeScript support
- https://github.com/grpc/grpc-node/pull/1368
- https://github.com/grpc/grpc-node/pull/1380
- https://github.com/grpc/grpc-node/pull/1387
- https://github.com/grpc/grpc-node/pull/1419
- https://github.com/grpc/grpc-node/pull/1454
- https://github.com/grpc/grpc-node/pull/1587
- https://github.com/grpc/grpc-node/pull/1590
- https://github.com/murgatroid99/grpc-node/pull/1
- https://github.com/murgatroid99/grpc-node/pull/2
- https://github.com/murgatroid99/grpc-node/pull/3
- https://github.com/improbable-eng/ts-protoc-gen/pull/236
- https://github.com/improbable-eng/ts-protoc-gen/pull/247
(No comments)