DEV Community

Cover image for For Empowering Community
Ben Halpern for The DEV Team

Posted on

For Empowering Community

I'd love to let you in on the next step of what I hope will be all of our collective journey together.

Nearly two years ago, DEV went open source. It was a big step for a nascent organization and a decision based on the observation that the more we empowered our wonderful community to be a part of the journey, the better things turned out. However, what we open sourced that day was just the first step of a bigger idea. Our aspiration has always been to offer up our community platform for others to use as well.

Over the last few years, we’ve honed our values and principles, and have strengthened our resolve that while we want to support a healthy ecosystem, we do not want to unilaterally become the ecosystem. We don’t want to just power community software, we want to empower community. That means we want to own a meaningful, but relatively small, part of a bigger idea. And with that introduction, I want to describe the next part of our open source evolution.

Our platform — the one that powers DEV — is built for empowering community, and it's called Forem.

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. Being part of a community serves so many different purposes depending on context, and we hope the idea of what constitutes a community will expand as creators like you get creating.

Each Forem will live online as its own independent web application with its own standalone databases, authentication mechanisms, configuration, dedicated URL, etc. Alongside this independence, our vision is for Forems to be highly compatible with one another in order to build a cohesive ecosystem where members of multiple Forems can move seamlessly between community apps — even if those apps do not share any data about the individual.

This is where ideals around privacy, inclusion, and an open and equal web need to meet with a passion for product development and excellence in user experience — we expect we are only at the beginning of this journey. We don't intend to build niche open source software that only appeals to a technical crowd; we resolve, along with you, to build universally accessible, delightful, and enriching software for everyone.

A new day one

We're not here to immediately bestow perfect software on the world, we're here to bring you along on a shared journey. A journey to unbundle the power dynamic of social networks, to take some old ideas about the web and make them new again, to heighten the focus on protecting our society's most vulnerable, and to empower a diversity of cultures and ideas.

We have a never-ending list of issues, both technical and organizational, to address along the way, and we hope there will be enough ideological and technical buy-in from the community to effectively step from today to tomorrow in terms of our capacity to serve the mission.

What does Forem do?

A fresh Forem comes equipped with basically all the features of DEV:

Join the community, fill out your profile, write posts, read posts, leave comments, react to posts and comments, follow users, follow tags, search the site, receive notifications, create classified listings, listen to podcasts, embed rich content, ingest an RSS feed, report users, block users, become moderators, moderate, send direct messages, participate in group chats, receive achievement badges, configure fonts and themes, export your data, and the list goes on and on depending on what you'd consider a "feature".

If you're reading that list and saying to yourself "holy cow that's a lot", I can assure you that I felt the same way writing it. We have methodically built certain important features while also rushing some things and throwing some things at the wall to see if they stick. That's the nature of building a software project, a community, and a company all at the same time.

As an organization and open source community that works in a distributed, asynchronous style, it's only natural to be somewhat sprawling. But as we take on a big new challenge, it will be important for us to hone in on the kernel of the value and to architect software which serves the community in the most elegant possible way. I am really excited about what that will look like.

If DEV is the first Forem, ThisMMALife is the second. Community member Lee Wynne was the first to take our early indications that this was in the pipeline and to go through a lot of pain to stand up their own community instance. Lee has been a tremendous partner in helping lead the way. You might say the third community is community.benhalpern.com, and there are a few other prototypes and WIP projects in the ether.

We are not yet ready

This is important to say: While I'm glad we're finally putting a name to this next phase of the journey, and reiterating what’s on the horizon, we're still not quite ready for your community.... Getting to “ready” will be a gradual process. As we work out the details of how hosting, deployment, versioning, and compatibility will work, we will initially only support public instances that we host. It's the only practical way to get these spun up effectively right now, and we're not even 100% ready for that... but we're getting closer every single day.

To that end, we want to hear from you if you’re interested in the idea of spinning up a community. It can be for a passion project, a new commercial venture, as an extension to your existing business, or any other reason between and beyond. If that’s you, please get in touch with us by filling out this form. No commitment necessary, just tell us what you’re thinking about building.

Join us as we build

If you are looking to contribute to the software side of things, we have plenty of open issues, but we also ask that you be patient with us as we continuously relearn what it means to manage the code contributions as our platform evolves. As much as we are excited by contributions from folks building with a personal stake in this game, we’ll need to learn together how best to handle this all.

Our repo is still entitled dev.to but we will be migrating to forem soon, as that is the name of the software itself — dev.to is simply an instance (albeit an important one).

Some of the first Forems we launch will be meta-forems designed to help facilitate the software development process as well as the administration, moderation and promotion of individual communities.

A taste of the Forem ecosystem

If each Forem is its own web application with its own configuration and plugins, we foresee bridge apps within the ecosystem that help tie things together. Native wrappers, specialized browsers, extensions, etc.

For example, I have been running this browser extension locally as a proof of concept, and I have been pleased with the user experience, especially how it works with the service-worker-driven approach of how our pages are rendered. Speed moving between apps is almost as speedy as changing pages within an app.

Forem Extension

We have also been conceiving of the experience for a community creator setting up a new Forem. Here is a taste of what to expect from our most recent design critique...

New forem experience
New forem experience

For Empowering Community

It’s a privilege to work on software with purpose — If we get this right over the next few years it will have a really special impact on a lot of lives.

If you’re interested in joining us by building a community of your very own, let us know by filling out this form. Please keep up with our open source project and contribute if you care to. And keep an eye out for entrepreneurial opportunities within the Forem ecosystem.

Happy coding 🌱

Latest comments (106)

Collapse
 
grahamfleming profile image
Graham Fleming

Great insight!

Collapse
 
rodkisten profile image
Rod Kisten (Costa)

Sooo happy and proud to read this!
Congratulations e good luck on this journey! 🚀🚀🚀

Collapse
 
putsan profile image
Yuriy Putsan

Great, thanks so much!!
I will join as soon how it's possible)

Collapse
 
tomisinteazer profile image
legendary sage

this is so amazing I'm just reading this and its simply wonderful holy smokes

Collapse
 
ravikrishnappa profile image
Ravi Krishnappa

Is there a follow-up post to update the progress?

I study open source platforms and teams developing self hosted applications. Content management, commenting systems, blogging, social media, collaboration systems, hybrids of these core concepts.

Collapse
 
rcarrasquillo19 profile image
Roberto Carrasquillo

Awesome

Collapse
 
truckmountforum profile image
TruckMount Forums

We filled out the form a month ago, and no response?

Collapse
 
atrandafir profile image
Alexandru Trandafir

Hey DEV & Forem team!!

I just wanted to say that I will probably be doing something similar, I mean, building a community platform, and I will try to take some inspiration out of Forem, hope you don't mind! :-)

Not sure if it will be Open Source or if I'll try to monetize it somehow, as I also seek to make some profitable product in the near future.

The tech stack in my case will be LAMP with Yii framework, instead of Ruby/Rails.

How come I am doing this? Well in the past I have built this website:

crazypoems.org/index.php?lang=ro

A poems community for romanian language speakers. I have written it with classic php and smarty templates somewhere around 2008 I think. And it has a couple hundred users and like 5k poems, and even if it is very abandoned, there are a few users who don't stop posting so I've decided to try to bring it back to life.

Anyways, I guess my main focus will be to rebuild that site and then see how to convert it into a community platform that can be reutilized.

I like the ideas behind Forem, and also like, for example, the StackOverflow/StackExchange approach, it has been on the back of my mind for a while to try and build a community platform.

All the best with Forem and looking forward to see how both things turn out!

Collapse
 
dcsan profile image
dc

Awesome! Following. I like the sidebar as you build a network, with hopefully a shared login - more like discord than slack. speaking of which any thoughts on realtime stuff, like the direction Spectrum was going in (before github made them just "Discussions" tab?)

how is your platform aiming to be significantly different from Medium, apart from openness (which is a huge thing to be sure!)?
They have a very different approach to cross-promotion of traffic, and the main reason people stay there is traffic.

Collapse
 
sarvesh107 profile image
sarvesh107

Hlo I need some to you guy's.

Collapse
 
rsmithlal profile image
Robert Smith • Edited

Wow! I can't believe that I'm only discovering this post now. I've been designing and building an open source federated community platform engine for the past couple of years part time on my own. The name that I gave it is the Better Together Community Engine. Better Together is an organization that I founded to help bring people together and support communities. @ben , I'd love to chat more with you about this and will be taking a look at what you and your team have put together so far. I'm really happy to learn that my favourite positive and inclusive dev community is also working on this kind of project! I'm hoping we can collaborate, because working together is what Better Together is all about! You can find out more about what I'm working towards on our website at bebettertogether.ca

Collapse
 
fajarsiddiq profile image
Fajar Siddiq

I have like almost 8 communities all on telegram.
How can Forem build asynchronous for discussion posting update via telegram?

I saw tribe.so and circle.so they have beautiful design, but i can't afford their pricing plan for now as i have alot of cost to cover.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.