DEV (dev.to) has been growing a lot lately. We're now reaching around 5.5 million monthly unique visitors, up from about 1.5 million this time last year. Our open-source code has 11.2k GitHub stars, and this past month we received exactly 500 pull requests.
That's all to say that with each passing month we're playing a more important role in the software ecosystem. Along with increasing importance comes the great responsibility of growing our code and business model in ways that continue to uplift, rather than exploit. We want to add to a rich ecosystem, and not descend down a path where we become the ecosystem.
The future of DEV, this website itself, is primarily a matter of incremental improvements. This means that we’ll continue to refine our moderation tools to provide the safest and most enriching environment possible. We will improve our platform’s accessibility to ensure we are providing a consistent and inclusive experience to all. We will continue to polish our author/reading tools, to provide better and better ways to produce and enjoy content. We will enhance our design and upgrade our native mobile applications.
DEV is a becoming a pretty amazing resource, built on top of a foundation of constructive ideals. We will finish off half-built features, squash bugs, and expand our ecosystem APIs. We are committed to doing all of these things — and, as an open source project, we're going to do them transparently with the community’s direct involvement.
Impending broader initiatives of our company, Dev Community Inc., represent more uncharted territory that I'd like to discuss. We have written about all of this before, but it always bears re-examination as progress makes future plans increasingly tangible.
The future of our company will be based on delivering the DEV open-source software to power new standalone communities. We will work with a network of partners both inside and outside of the software ecosystem. These independent instances will serve community needs ranging from hobbyist groups to enterprise software providers, and everything in between. We want our software to empower the community web, hopefully as a genuine alternative to data-driven monopolies.
Our networks, distributed but compatible with one another, can be interlinked for discoverability or possibly browsed for convenience through a higher level application (although web browsers already do this pretty well 😋). Profiles may be linked for convenience across communities that you are a part of, but they don't need to be. Instances of the software will have control of their own data, entirely private from one another. As we learn from scaling DEV and new nodes come online, we will provide solutions compatible with small communities (served today by, say, a Slack group) to large social networks (served today by, say, a Facebook Group or Subreddit). In each case, we will provide tooling to ensure that the communities can evolve with grace.
This outcome is important to us, and many within our community, because it breaks up the capacity for billion and trillion dollar enterprises to control the entirety of our data and survey our online presence. As a community leader, you will no longer have to trade your users’ privacy and safety for a modern social networking experience.
This is not just a conversation about data and power. We truly feel that niche communities have the power to enable a more authentic web, which can allow passion and activism to thrive. None of us are singularly-focused in our interests, but social media sometimes forces us in those directions. Once we've picked "our thing" on Twitter, for example, it's hard to de-niche. By leveraging the power of open-source, and sharing incentives with a network of community-oriented leaders, we can help provide the seeds for more amazing and unique communities to grow and blossom.
Our commitment to safety and inclusion on DEV has been at the core of everything we do. Every feature our team and community develops is evaluated on the basis of protecting the most vulnerable among us. While the propagation of our toolkit and code of conduct for future community builders is a good thing, the decentralization of this future also presents its own challenges in terms of potential for malicious use. We will continue to be discerning in terms of how we distribute our support, hosting services and discoverability features. As the broader ecosystem grapples with these issues, we intend to be leaders.
The core DEV Community itself will continue to thrive and benefit as the ecosystem of DEV-associated instances matures. As improvements are made across the broader network, each community will benefit from that expansion of resources being invested into the open-source code. We will lean into our commercial open source business model rather than relying on a system that would require us to max out on the value of user attention and data. We will build the company’s leverage on our ability to host, support, and provide services to community leaders that are leveraging our open-source software.
Within the DEV Community, our set of revenue-generating features will continue to evolve. We already have sponsorships, community listings, and future services in the works that will diversify and complement our open source services business. These features will also form the basis for tooling which may enable future communities (in different niches) to sustain themselves with community-oriented offerings.
Communities naturally grow and software naturally finds new use cases. We try to discover growth opportunities and interesting use cases in the most thoughtful way possible. We want to contribute to a thriving ecosystem that delivers exponentially more value than we could possibly hope to deliver with a monopolistic mentality.
If you are interested in being a part of this journey, you can find issues labelled as
area: generalization in our GitHub repo. The journey towards re-use of our code and community-building practice is a matter of constant discovery and iteration, one issue or pull request at a time.
This series of posts document a high-level process to use when planning a modern web application, from project organization, collaboration considerations and tooling choices during development, all the way through deployment and performance strategies.