loading...
Cover image for DEV Went Open Source One Year Ago Today, And We Have So Much More Planned!
The DEV Team

DEV Went Open Source One Year Ago Today, And We Have So Much More Planned!

ben profile image Ben Halpern ・4 min read

Today marks one full year since DEV went open source. Operating out in the open has become such a core value and entrenched principle of how we build software that it's hard to imagine it's only been a year.

The website started out with ideals around providing quality publishing tools and inclusive community features. The idea of building the platform as an open source project honestly didn't occur to me early on. But after observing how much we gained whenever we gave the community more opportunity to collaborate helped make it an obvious choice — we shared the keys to the ship, went open source, and haven’t looked back.

Choosing to open source our codebase has allowed us to become leaders in transparency of application code, data, and development practices. This leadership role is something we plan to lean into more and more in the coming years.

A vision towards phase 2

You can think of phase one as building DEV. Supporting this amazing community platform of software developers will never stop being the core focus of our team. But we also have future plans for the code and the broader community at large.

We have talked openly about our ideas around the re-use of our platform for community creation in terms of microcosm developer communities (communities like stripe.dev for platform developer success, or node.dev for deeper integration with the builders of fullstack JS). These separate instances of the software will have their own data and full control over the operation. We also envision use cases in terms of more general-purpose interests (such as design.to, or even community.nba.com).

We have experienced a lot of demand to stand up individual instances among the entrepreneurial folks within the community, but have asked that people hold off for practical reasons. As we begin year two, we will begin supporting these use cases. Look out for an official roadmap within the next few months.

A more organized core team

As we move forward together, we expect to engage with more and more developers around the world. Year one was an experiment in mass communication and practicing chaotic empathy as we build together. In the next year we will look to institute better guidelines around taking part in the project. We will respond to issues more quickly, provide more clarity on division of responsibility, and be faster to resolve to pull requests.

We are already pretty okay at some of this stuff, but we want to be true leaders in this regard as much as anything else we do.

Built on GitHub

It would be hard to imagine accomplishing what we have in this first year of open source in a world without GitHub. I just want to acknowledge how symbiotic this de facto partnership has been to this point. We have been, for the most part, just another project—but we are also unique in so many ways.

For one, as an inclusive developer community where we all teach one another how to survive and thrive in this career, we are building on the very community concepts that GitHub pioneered.

Additionally, as a consumer-facing open source project, we are a less common breed (relative to something like a framework). We are able to take a lot of cues from other projects both high level and low level in their scope. As we continue to establish ourselves as a strong force for good in software, I hope we can develop stronger relationships with the organizations we work with.

Built on Rails

Ruby on Rails is not the new hotness by any means, but it has been such a natural fit for the choices we have made. More so than other frameworks these days, Rails is fairly "bundled" software, with a built-in solution for most of what we want to do. Ruby on Rails is a Ruby-based web framework developed by Basecamp which makes use of Ruby on the backend and integrates with modern JavaScript on the frontend.

As the technology of choice for organizations and projects that share a lot of our traits (GitLab, Shopify, and Discourse come to mind), it is clear that we will be building in collaboration with thousands of brilliant developers one way or another for many years to come. Of course, we feel pretty good about the health and wellness of the project and community. The Ruby on Rails website lists Basecamp, GitHub, Airbnb, Twitch, SoundCloud, Hulu, Zendesk and Square as some notable users.

Let year two begin

This past year we were able to hire contributors from the project to augment our core team. We plan to do much more of this in year two. On the community growth side, we were able to more than triple our traffic, eclipse 200k registered members, and truly accelerate our open source business. We plan to make even bigger leaps in year two.

We were able to collaborate with hundreds of developers who successfully merged pull requests this year. We plan to improve our contribution model in year two, which will allow us to support hundreds, or perhaps thousands, of new contributors to help polish and grow this project.

We want to push open source into the mainstream. We believe that we can help elevate new standards of transparency and security into the realm of community platforms. Help us get there.

GitHub logo forem / forem

For empowering community 🌱


Forem 🌱

For Empowering Community

ruby version rails version Travis Status for thepracticaldev/dev.to Code Climate maintainability Code Climate test coverage Code Climate technical debt CodeTriage badge Dependabot Badge GitPod badge Netlify badge GitHub code size in bytes GitHub commit activity GitHub issues ready for dev Honeybadger badge Knapsack Pro Parallel CI builds for dev.to

Welcome to the Forem codebase, the platform that powers dev.to. We are so excited to have you. With your help, we can build out Forem’s usability, scalability, and stability to better serve our communities.

What is Forem?

Forem is open source software for building communities. Communities for your peers, customers, fanbases, families, friends, and any other time and space where people need to come together to be part of a collective See our announcement post for a higher level overview of what Forem is.

dev.to (or just DEV) is hosted by Forem. It is a community of software developers who write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their…

As a quick post-note: despite speaking of becoming "more organized", if we get an influx of new issues or pull requests this week, we might fall behind a bit. We haven't fully fleshed out or enacted some of our next steps quite yet, so please be patient with us.

Happy coding!

Posted on by:

ben profile

Ben Halpern

@ben

A Canadian software developer who thinks he’s funny. He/Him.

The DEV Team

The team behind this very platform. 😄

Discussion

markdown guide
 

I can't believe it's been one year. It feels like we open-sourced just yesterday, and also like it's already been ages.

Being able to collaborate directly alongside the community is the most special part of this entire project and company. A platform where the community members can be content-authors, bug-fixers, features-builders, and feedback-providers is truly a powerful and amazing thing.

It's been wonderful growing alongside all of you, and I can't wait for this next phase of the shared journey.

 

A quick trip down memory lane:

I remember how happy I was when DEV announced they had opened up their source code last August, I immediately jumped at the opportunity to collaborate. I just checked on GitHub and my first PR is dated exactly one day after that 😅

Automatically check vulnerabilities before deployment #303

rhymes avatar
rhymes commented on Aug 09, 2018

What type of PR is this? (check all applicable)

  • [ ] Refactor
  • [X] Feature
  • [ ] Bug Fix

Description

bundler-audit is a well known tool that helps keeping an eye on known vulnerabilities.

I think passing its check should be a pre-requisite for each build.

Related Tickets & Documents

Mobile & Desktop Screenshots/Recordings (if there are UI changes)

Added to documentation?

  • [ ] docs.dev.to
  • [ ] readme
  • [X] no documentation needed

A few months passed and they had graciously accepted in the code the 50th PR:

Around a couple of months later I ended up joining the team.

I can't thank enough the DEV team and their core values. This website I'm writing this comment on being open is a part of those values.

If you're in doubt, know that any contribution is welcome: ideas, bug reports, frontend and backend code, documentation, point of views on existing features and even "moonshots"

Don't hold back 😅

 

Around a couple of months later I ended up joining the team.

With about 75 PRs under your belt by then, safe to say we felt pretty good about your ability to contribute. 😄

 

We all thought you were in the core team long before you got the offer 😉

 

Some additional thoughts that I didn't want to try and cram into the post:

Alongside the work that goes into the community kernel which is this codebase, we look forward to improving the resources and tooling for use of our API to extend what we can all do together.

We have had some really interesting projects crop up and I can't wait to see what's next!

For an eye on some of the off-platform development we are trying to enable, check out this post:

And for some more reading on where our head is at with the health of the developer ecosystem and online publishing, check out this post:

 

A whole year, wow, doesn't time fly!

EDIT:

I like @rhymes idea of showing first pull requests!

My first pull request was to move the menu down by 8 pixels, just to test the waters.

Move menu background down 8 pixels #1227

Description

Move menu background down 8 pixels to prevent seemingly random bumps.

I probably ought to have left this for someone as a first PR but it bugs me 😉

Related Tickets & Documents

#1160 #1213

Added to documentation?

  • [ ] docs.dev.to
  • [ ] readme
  • [x] no documentation needed

But I'm most proud of implementing CSS variables, something @ben took a chance on and let me implement.

The wonder of having a community like this is how quickly the CSS variables evolved, thanks to people adding to them and finding places I'd missed.
This allowed for multiple themes to be created.

Beginning of css variable implementation (--theme-background) #1306

What type of PR is this? (check all applicable)

  • [ ] Refactor
  • [x] Feature
  • [ ] Bug Fix
  • [ ] Documentation Update

Description

Added --theme-background leaving the default the same. This will make no, visible, change to the styles currently.

Adding CSS variables means loading a CSS file containing overrides means you can change the whole sites theme.

:root {
  --theme-background: #303030
}

Related Tickets & Documents

#1104 and #1377

Added to documentation?

  • [ ] docs.dev.to
  • [ ] readme
  • [x] no documentation needed

❤️🧡💛💚💙💜🤎🤍

 

Yes! And thank goodness for your awesome ideas and contributions in getting themes going with variables, among other great CSS contributions. It's been such a boon to our frontend efforts.

 
 

Proud of what you have accomplished. Definitely love what you are doing. Hoping i can be a major contributor in the coming years. I moved from Medium paid membership to Dev and i have not regretted it. Keep winning! We are by your side.

 

Congrats to the entire team! I've loved this project/community since the first day I joined. 🔥

Awesome team

 

And here's my first PR. It was when the repository was private, so I can't link the PR as the number is no longer the same in the public repo, github.com/thepracticaldev/dev.to/...

My First PR to dev.to

 

Congrats team! Thanks for building this amazing platform and community!

 

Thanks Desi! We couldn't do it without folks like you who bring such a positive, constructive presence.

 

Congratulations! There is something about DEV.to that is unique and stands out alongside other developer communities. It is definitely one of the most welcoming communities I have seen. Keep up the great work!

 

One word guyz. AMAAAAZINGGG Community. I am really loving the experience over here at dev.to and cant wait to contribute back, yesterday i did fork the code and was struggling to get things running, will eventually.

I was really thinking that the whole app experience can be simplistically and smoothing made using ionic as a framework with all the push notifications and stuff, one of the possibility.

Well let time pass and surely with patience great minds meet.

I am going through the docs, and do hope for me to bug you again and again and again on email for things i mught need to understand.

Born to learn till i die. Cheers Guyz!

 

While there are plenty of open-source projects, really few websites have made the move. I would guess the main reasons are security (easier to find a breach) and website stability (keeping a good UX could be difficult with tons of contribution).

I hope to see more and more websites taking this path in the future.

Could you share with us the key to make an open-source website project successful, and how is it different from a normal open-source project?

Have you experienced things like bug-bounty or "feature-bounty"?

Do you think this would be possible if your community wasn't a developers community? Let say that instead of dev.to you started by building community.nba.com. What would have been different?

 

Great job! I have some questions for you.

  1. How many people work on the platform for dev.to?
  2. Let's say I would like to start a dev community (for example, embedded.dev), what would it looks like for a person to handle it (time, money, resources, knowledge)?

As of right now, except on Reddit, embedded system communities are built around manufacturers. I don't know if you visited some lately, but the majority of them (NXP, STMicro, Mbed) are slow (I mean, 15-20 seconds latency slow) in navigating on their systems and are not community-friendly.

Again, thanks for the platform. Very great job.

 

I can help you with that. I have done 4 years in electrical engineering, so buzz me up. Surely things can come up to mark.

 

Congrats team for this milestone. Really excited to see how phase two unfolds. Kudos to all that ya'll have achieved so far.

 

Another comparable community to dev.to I can find is hashnode.com. Features parity, I like it similar to how I like dev.to in term of easy publishing. But recently they launched DevBlog where you can point your domain to their server and enjoy publishing under your own domain with all the hashnode tools. Your own domain's blog post also get post to the main feed on hashnode.com (configurable) so you will not miss all the potential audiences of your posts.

If you don't use custom domain, by default you'll get yourname.hashnode.com for your blog. Since you can exempt certain posts from being pushed to the main feed, you're free to post non-dev stuff on your blog without cluttering the main feed on hashnode.com.

 

Want to say thanks for creating Dev.to.

Not being a Ruby dev (or web frontend) I probably won't be creating any PRs soon, but I surely benefit from the community it creates by being opensource and applaud the move. But given all the other languages I've learned over the years, who knows what the future might bring.

Year 2 looks like it will be a good one!

 

I still wonder how did you do this? I mean not thinking of profit and investing your time and money! You're really amazing.

 

I am very happy with this website as I always read. It sucks when you want to read and there is a quota, especially in Medium.

 

What I like about Dev is that it's open source on Github. So that we can open issues and pull requests. Bravo Dev ...