54

Open Source and New Year’s Resolutions – Steve Manuel – Medium

 6 years ago
source link: https://medium.com/@nilslice/open-source-and-new-years-resolutions-b50ee3ffb9f3
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Open Source and New Year’s Resolutions

Late in 2016, I began to scratch a career-long itch. I had recently decided that I simply wouldn’t do anymore WordPress projects. I had too often pushed the blogging platform far beyond its intended capabilities. Although WordPress is a good system, I knew that I wanted something else. But to rebuild a content management system that was intentionally reusable, and easy for a non-technical person to jump in and create / edit content is no small feat.

After countless WordPress installations and customizations, as well as many ground-up projects, I had a good idea of the features I wanted from a new CMS:

  • Simple installation & deployment
  • No database server (how many projects really need a standalone database?)
  • Headless, JSON API to access content (no more “themes”, keep it front-end agnostic)
  • APIs to insert, update, and remove content (enabling real application development)
  • Code generation for my CRUD views/actions (no run-time custom field / post type plugins)
  • Fast & efficient enough to be successful for 99% of projects using only a single server
  • HTTP/2 features like Server Push made easy
  • Automatic & free HTTPS with certificate management (using Let’s Encrypt)

With all of that in mind, I wanted to build this in Go, a language I had been working with very closely for the past few years and thought it had all the power and flexibility I needed. On top of that, I wanted to use Go for more projects and thought of no better way than to front-load some work now so I can write more Go later.

It quickly dawned on me that this CMS (much like most software projects) was a bigger project than I had set out to do; I needed help. With 2017 quickly approaching, I thought maybe this was my chance to actually make a New Year’s Resolution that stuck, and I’d commit to becoming more
involved in the world of Open Source. So I took to Github and published Ponzu, my CMS in its own organization and licensed it under the BSD-3. My hope was that Ponzu would become more than “my” CMS; to become anyone and everyone’s CMS. I posted the project to r/golang the sub-Reddit dedicated to the Go programming language, and to my surprise lot’s of people started to check it out!

1*0zPv7Ae0jO0ktgfM3_VWXA.png

“Gotoro” Ponzu’s sushi-chef mascot

Just weeks later, it had caught the attention of hundreds of Go programmers around the world, and with the help of a generous mention by Brian Ketelsen on the “Go Time” podcast, Ponzu started to
climb in popularity and was trending as a top project on Github. Brian shared that he and the GopherCon team had used Ponzu as the backend & CMS for the conference’s website! The largest Go conference in the world was using my project — that was pretty awesome. At the same time, contributions started to roll in, and others were filling in Ponzu’s gaps or fixing bugs and adding documentation.

A side effect of Ponzu’s growth was that it has brought many programmers into the Go community, who had previously never written a line of Go code. Realizing this, as I looked through the “stargazers” of the repository, was an incredible feeling. The majority of Ponzu’s users had code repositories containing no Go, but lots of Ruby, Python, Javascript, PHP, etc. I was able to share my passion for the language with others who I hope become just as passionate, and life-long Gophers.

The inflection point of when Ponzu went (in my opinion) from “good” to “great”, is crystal clear to me. By sharing the project and releasing it under a permissive license, so many talented people have been able to contribute ideas and features, and implement them with a higher degree of skill than I alone could have accomplished.

The Open Source community has made Ponzu great and I am incredibly thankful. I look back at 2017 and my resolution to be involved in open source as one of the most gratifying years in my life, and of course I intend to continue making Open Source a priority in 2018.

Cheers to the New Year, and if I can leave you with one bit of advice, it would simply be to make Open Source a part of your life too.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK