I wrote this as sort of a personal journal entry and didn't plan to share it, but with a growing demand for action, I felt like tossing these ideas out publicly.
There is a lot of anti-Facebook sentiment in the air. Of course, the recent wave has been due to Facebook's ongoing inability to tell the truth about important matters until their fraud and coverups are uncovered. But it’s also been part of a broader trend in worrying about Facebook’s flaws mixed with their utter dominance in the space.
I want to start by making it clear that our team isn’t distracted by delusions of grandeur. But, as a matter of describing the potential optionality of our current path, this article may serve as an interesting thought experiment about the tech climate.
If you're a member or casual visitor of this website, dev.to, you might be able to see some similarities between our platform and Facebook. It has a news feed and there is a focus on connections and friendship. It's a social and/or professional network.
It's also different from Facebook in a lot of ways. It's only for software developers, it's built on the open web—rather than being a walled garden, and most importantly, it's a fraction of a fraction of a fraction of Facebook’s size.
So, even though it's silly to even contemplate, I do spend time thinking about how and why it's important to harbor visions of making a dent in Facebook's space. The "why" is easy for me. Facebook has consistently made morally questionable decisions. At best Facebook is an inevitable result of power and scale. At worst it is a cold, evil company, with operators and investors who have routinely demonstrated an indifference to the harm they may be causing.
I started dev.to without Facebook in mind. I wanted to help host good technical writing and discussions in an environment that encouraged constructive and respectful dialogue. That's still the goal. But, if you'll entertain me, I'd like to talk about this Facebook thing.
As I mentioned, in form factor, what we've built is Facebook-esque. We'll gladly copy the good parts of any social network. But here’s where it gets interesting: we are currently working on opening up our core codebase to the world as an open source project. We want to do this for a number of reasons.
- Open source code improves over time, while closed source code decays. Decaying code is expensive and causes engineering expenses to soar.
- Enthusiastic members have been asking for this big-time. The community is excited to help, and we have learned time and again how giving more control to the community has benefitted us.
- We're romantically attached to the story of Linux coming to dominate the operating system space, and the multitude of improbable open source accomplishments that no longer seem all that improbable.
- Our core business model—running a community for software developers and making money through memberships and sponsorships—doesn't require us to hoard our code.
- We want users to have a full picture of all the data the site keeps on them in order serve them. We don't really keep all that much data, but from a technical perspective, the simplest way to be transparent is to open the operation up for inspection.
As an aside — if you've followed the project along, you might be frustrated that I've been talking about this for a while. It's true—in the rigor of actually growing our community and keeping our operation afloat, we have consistently pushed back our efforts to open source. And I'm not here to announce anything different. We are, in fact, moving closer and not further, but we have not yet had the time to devote the final push to opening up the code.
The only true blocker as we see it is a thorough security audit. We still have some documentation shortcomings and onboarding pain-points to be worked out, but we could overcome those in the open. Open source code is ultimately much more secure than its closed counterpart because its issues are shallow, but in getting to the point of letting our code breath, we need to be careful.
But back to Facebook. We have no plans on expanding the scope of dev.to. It's perfectly wonderful to have an area to talk technical and to portray our career or career-adjacent selves in our full light. But we’ve seen a strong trend that other groups are interested in propping up their own community instances, based around whatever premises they want.
If and when that happens, dev.to gets to exist as a single (hopefully important) node in an ecosystem of compatible, but individualized, social apps.
Ah the promise of decentralization. Dreamers like me have been selling these magic beans for as long as I've been an observer. That's why I mostly keep my head down and plug away on dev.to features. Techno-utopian I am not. Decentralization is treated like a silver bullet, and people treat trust like it was invented as a blockchain concept. Our group rallies around the difficulties of social nuance and plugs away at the challenge of growing community and ethically operating a business that supports it. The "technically-ideal" solution seems to do a poor job accounting for the social nuances of being human. Technical vision and expertise is critical, but so is empathy, diplomacy, regulation, policy, and so forth.
So that's how we topple Facebook. Not alone, but maybe together. I don't think our odds are all that good, but it's fun to keep the vision in the back of our minds. If you are interested in finding out how you can chip in, you can fill out this form to join us as we gradually let folks in to contribute to the code. Please don't expect anything to move all that quickly. You'll need patience. We have much more of a "Steadily figure things out and be thoughtful along the way" attitude than the "Move fast and break things" phrase coined by some company of note.
By the way—Facebook comes to mind as the greatest example of a shadowy giant that deserves as much challenge as they can get, but I can't say there is a major player in the social space with a clean slate. Twitter has consistently demonstrated a valueless indifference towards harassment and a tolerance of hate and misuse. LinkedIn has relied on dark patterns and has generally taken the position of sucking value out of its market leadership while struggling to provide truly useful features over its relatively long life.
I know wonderful people who work at all of these companies and recognize the how drawing moral lines is a fool's errand sometimes. I have no problem being critical, but I also turn to building as an outlet moreso than writing. Code is my super power for change (big or small) and it's been doing me well so far. I'm excited to keep plugging away. Thanks for reading.