What project or projects do you maintain and what was your motivation for creating those projects and releasing them as open source software?
At the moment I am involved in PostgREST which is a standalone web server that turns your PostgreSQL database directly into a RESTful API. I have also contributed small patches and features to a few other open source projects.
If you created any of those projects, were they meant to solve a specific problem you faced, or were they born out of a larger opportunity you saw?
PostgREST was started by Joe Nelson and I joined the project in Jun of 2015. The reason behind me joining the project was really that the stars aligned, don’t know what else to call it :). At the time I had some free time and was thinking of starting something new and at the same time was catching up on interesting technologies. Based on my previous experience I noticed how much time it takes to create an API powerful enough to support a complex frontend so i decided to do something about it. I made a very basic proof of concept and was looking around if something similar existed. Around the same time Facebook announced the plans to release GraphQL specs as open source. Even only from a few slides/examples released at the time, it immediately clicked with me that this interface to an API is exactly what i was looking for. Again, stars being aligned, during that summer i got into Haskell and was impressed so when i ended up on PostgREST github page it was to obvious to ignore. I saw (in PostgREST) a solid base for my idea, I knew the interface (GraphQL) for it was going to be public soon, it was using using Haskell which by that time (1-2 months) i saw convinced it was the one true way :) and i had a few years of experience of building and using exactly the type of APIs that could be built if somehow PostgREST and GraphQL would be put together. That is when the idea for Sub0, my new company was born.
How has the project evolved since you first got involved or first released it?
How do you spend your time on those projects? (i.e. Developing, managing the community, triaging issues, etc.)
Up until recently I was very much involved with development and most of my time was spent pushing the code/features forward. The last few months i am only replying to issues on github and answering questions on Gitter. Most of my time now goes to releasing an MVP for Sub0
How would you describe the community around projects you participate in? What are your favorite and least favorite aspects?
What keeps you involved in those projects? Do you have long-term plans for maintaining your involvement?
Up until i got involved in OSS i had this romantic/naive view of it, how people are altruistically contributing to the good of the humanity and those evil corporations are just profiting from it. That view changed radically in the last year and I’ve seen my feelings echoed in some articles. Today i would not use a (big) OSS project in my stack unless i know there is a commercial entity behind it and i understand exactly what are the benefits for that entity. I am not referring here to small libraries and such, I am talking about big codebases. However well intentioned and altruistic a developer is, OSS does not pay the bills so inevitably big projects that do not really have a “finished” state, will eventually be abandoned or code will stagnate and end in the state of “PRs are welcomed” unless there is someone company interested in the project’s success. So i am happy to say what, keeps me involved in the project is commercial interest :). Although i have to admit that after a while, you do get attached to the project would like to see it progressing regardless of my original motivation.
What is the most important thing someone submitting an issue or patch should know?
The most important part is to submit it, the rest can be worked out. The only thing i would probably suggest to the people thinking of submitting features is to first open an issue and see if the addition is a good idea and if it has a chance to be merged.
What’s your development environment right now?
Nothing fancy, MacBook Air, Sublime/Atom. I always feel like i should invest some time in setting up my editor with plugins and shortcuts but due to the nature of my project i constantly jump between languages and stacks and can’t really afford to setting up the editor for everything that i use. Syntax highlight and the command line gets me most of the way.
What was your first development environment? Do you miss anything from it?
My first computer was a ZX Spectrum clone with BASIC on it. There is nothing to miss about old tech :)
Where do you see the open source software community headed?
I have not reflected on such big questions and i am in no position really to give opinions on this. What i would probably hope for is some kind of system of support (moral and financial) for people that do this type of work really out of love for the craft (like Joe Nelson).