My next open source project: a project for others

My 3 year old’s latest project was contributing a rocketship to this open source legal pad.
At least no one uses AJAX-integrated interfaces anymore.
The second comment still sticks with me. Also I’m quite sure this was the only subreddit.
It’s still difficult!

Selfish.

Fundamentally, I believe open source software is selfish. Even down to campy slogans like “Scratch your own itch”, the need to fulfill one’s own purposes as motivation is deeply embedded into OSS culture. It’s rare to find a freely available software project that isn’t self-serving. A creator made it for themselves. A company built it for their purposes. A team maintains it for their usage.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Projects for others

Looking back at my programming career so far and thinking about what the next decade will bring, I’ve come to peace with the following:

  1. JavaScript isn’t going anywhere for another 10 years (at least)
  2. My next open source project will be a project for others, not myself

Community first

Having a Code of Conduct for your project’s communication standard is a bare minimum now. I’ve struggled to keep people involved with toxic teams in the past. It’s not worth it. It’s sad this has to be said, but: if football stadiums, malls, and even open public spaces have code of conducts — there should be NO problem considering one for your globally visible project where others participate in a professional manner.

Pay people to do work

My friend Ashe unknowingly gave me a great birthday present 3 years ago: she shattered my ideas around who, how and why people work (and don’t have the privilege to work on) open source software. It all comes down to compensation:

The code won’t matter

Many projects use their language of implementation as their selling point to attract developers. It’s usually boasted about terms that solve surface level problems: LEGIBLE FOR HUMANS, QUICK COMPILE TIMES, EASY DEPLOYS! The list goes on.

Localized future

I’ve dealt with localization and “i18n” several times with my open source work. It’s a truly humbling experience to realize someone who might not speak or write your native tongue primarily wants to use your software. I’ve worked with many folks who have helped translate my words into their languages and provided a way for them to publish their writing alongside mine.

package main

import "fmt"

ফ main(){
যদি true {
fmt.Println("Hello, world!")
}
}

Security from the start

I’ve had a few harrowing experiences with security issues on my open source software. The worst being learning my site was hacked while commuting:

I keep the banner magic pink to remind myself to not take this website seriously
  1. Understand that insecure code is a reality of software engineering, and be ready to react
  2. Have a clear path for reporting security issues and who is responsible for responding to them
  3. Respond in private to security researchers, and publish post-mortems about how issues were solved in public

“Invariably starry-eyed time-wasters”

I don’t know what my next project will be, but I want to move past this “selfish” feel and focus on others in my future open source software endeavors. The others who might work with me on it. The others who might use it and stumble on installing it. The others who will maintain it once I’m gone. The others who will seek to learn from it as they build on top of its legacy. For now, I’ll stare, starry-eyed, wasting time on the Internet, until I can figure out how to help them.

--

--

@qrush is a short, sturdy creature fond of drink and industry. Working on @Agrilyst, @CoworkBuffalo, @MxDesk.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nick Quaranto

@qrush is a short, sturdy creature fond of drink and industry. Working on @Agrilyst, @CoworkBuffalo, @MxDesk.