One of the most influential sites on the early Internet was Slashdot, a technology news site originally run by hobbyists that's still active to this day. This is the story of how the Slashdot community fragmented due to corporate meddling, and the formation of SoylentNews, a similar site founded as a spiritual successor to the "old days" of Slashdot (an effort our own NCommander was heavily involved in).
For the raw logs of the interview that documented this story, see SoylentNews History Log
Founded in the early 90s by CmdrTaco and CowboyNeal, Slashdot was a cornerstone of the early internet. As one of the first ever technology news websites, it was highly sought after; in the time of the dotcom boom, large "internet landmarks" like these changed hands often. Eventually, after many years of changing hands, Dice Holdings (operators of the Dice.com job site, among other things) acquired Slashdot from its previous owner, Geeknet (operators of Thinkgeek). This was a routine move for the site, as it had changed hands many times before -- but by this point (around 2012), most of the original editors were long gone. It was a different era for the site.
Dice were very involved in Slashdot's operation, implementing many minor changes to the operation of the platform. This unnerved many of the long-time residents of the site, but there was a major change that proved to be the straw that broke the camel's back for the "old guard" of Slashdot -- the implementation of Slashdot Beta.
The mission at this point was clear: an alternative would need to be created.
SoylentNews (is people)
Thankfully, true to the hobbyist origins of the original Slashdot, the software used to run the site was once open source. Although it was abandoned over the many acquisitions of the site, there was still a languishing Git repository on SourceForge containing a much older version of the original Perl source code for the Slash platform than the version currently in use by Dice; although it would take a lot of work to get running again, there was hope that with enough eyes and a bit of elbow grease, the old Slashdot would live again.
Several community members (including NCommander) gathered in the #alphaslash Freenode IRC chat and started brainstorming. The idea of new Slash implementations was nothing new -- alternatives like Pipedot and Technocrat were around, with brand new PHP implementations of a similar platform. However, this wouldn't do for the (soon to be) SoylentNews team. They would be dragging the original Slash kicking and screaming onto the 2014 internet.
What is Slash, anyway?
Slash is the original codebase for Slashdot, dating all the way back to the original launch of the site. Written by hackers and hobbyists in an era when hackers and hobbyists writing entire web applications was nearly unheard of, Slash is a mess of ancient Perl and old conventions. This isn't to say it's not clever, to be clear. A product of a time when CPAN modules were installed directly to the system and Apache's mod_perl was in its infancy, Slash's developers had to be... resourceful, to say the least.
Everything in old Slash is a static page by the time it reaches the user. This was important in a time of limited bandwidth and processing power. Tricks such as keeping scorecards in Apache's own shared memory space for task synchronization, a custom Perl-based cron replacement, and more were employed in order to keep server costs low, and response times fast, all the way back in the early-to-mid 1990s.
Due to its age, getting Slash running was no easy feat. Because of the quirks inherent to such an old and strange design, it relied on ancient versions of Apache and mod_perl, with strange configurations. Thankfully, someone was up to the task...
Getting Slash going
NCommander got to work. Spinning up a new Linode VPS, they installed MySQL and compiled their own patched Apache 1.3 and Perl installations. Reliance on these old versions of the software stack would certainly have to change to bring changes like proper SSL support and security; but for now, just getting it working was the first priority. CPAN as a whole was getting old and crufty at this point -- dealing with the ancient CPAN bundle that Slash required was a monumental task, but one that could be conquered.
Unfortunately, there were looming issues with the SoylentNews team. The official leader of the team, Barrabas, was known for mismanagement; seeking total control of the project ruffled some feathers among the SoylentNews staff. As one example, the SoylentNews staff at the time were entirely grouped in the aforementioned Freenode IRC chat. Barrabas mandated that SoylentNews operate its own IRC server for discussion of operations and management. This move unfortunately cost the project some of its team. At this point, NCommander was hosting SoylentNews out of pocket, on two Linode 2048 instances that they were paying for themselves. Disputes over reimbursement, and the rift among the Soylent staff resulting from Barrabas' increasingly erratic management decisions grew and grew, until he was forced out of the team. Disaster struck. Barrabas announced he would be selling the soylentnews.org domain unless he received $2000 US dollars.
Getting the site back
This move sent the remaining SoylentNews staff (now de facto led by NCommander) into a scramble. Initially, NCommander was willing to pay; however, they were currently unable to cut a check, having been travelling internationally.
Thankfully, Linode provides subdomains for web services hosted by its customers. This link was published on SoylentNews in March of 2014 as a fallback in case the soylentnews.org domain went offline. Thankfully, Barrabas' access to the Linode instances currently hosting the site could be revoked, preventing any loss of data.
Eventually, Matt Angel (resident venture capitalist of the project) purchased the domain for $3000 US dollars. SoylentNews was back in the hands of its staff.
With the domain now safely in the hands of the Soylent staff, and Barrabas out of the picture, the team could once again get to work. On the advice of Matt Angel, the next target for the site was incorporation; this would allow for certain legal protections against the type of events that nearly cost the site its home. In addition, it would serve to diffuse power somewhat. NCommander writes:
After some difficulty (it's rather tough to incorporate a company with no real physical assets), SoylentNews was incorporated on July 4th, 2014.
Several of the original SoylentNews staff members were based around the US Northeast. A celebration was in order, and a major meet and greet BBQ was held. Times were good, and the project was on a positive trajectory once again.
With outlook for the project good, many ideas were floated for new directions for the site.
At this point, SoylentNews was setting out to be more than just a news aggregator. One proposed change was a subscription-based donation model that provided services such as hosted mail and a shell account. The pushback for these changes was great -- as one user going by the name Buck Feta wrote:
Sentiments in the comments of that post were divided. Some expressed similar opinions to the comment above. Some saw it as no big deal. But the majority of responses were negative. The changes had precident; projects such as Debian and Canonical had shell account access for developers, and had for years. Regardless, the SoylentNews staff heard the community's concerns, and never implemented the subscription model.
The ambitions of the SoylentNews team didn't stop there. The internal infrastructure of the site was somewhat advanced, due in part to NCommander's dedication to the original Slashdot they knew and loved. They write:
More than just an aggregator
Perhaps the largest post-incorporation ambition for SoylentNews was for it to be more than just a news aggregator -- the goal was for it to become a source of high-quality independent and free journalism, with freedom of discussion and a right to criticism and opinions of all kinds.
The original SoylentNews manifesto, still available on the site, lays out the original direction the project was headed. A TOR exit node was soon put up by the staff (which proved surprisingly popular), and after one year of operation, NCommander held a celebratory 24-hour Twitch stream playing Nethack to celebrate.
Unfortunately, NCommander's health had begun to decline, so some of the ideas outlined in the manifesto would never come to pass. However, they had one more major annoyance to solve...
At this point in time, SoylentNews was still running on that revived ancient version of Slash. This was a massive annoyance, due not only to the difficulties of dealing with such old software, but also the potential security concerns of running 8 year old server software in 2014. Something had to change.
Thus, Rehash was born. The goal? Moving from Apache and mod_perl 1.x to a more modern version (Apache 2.0). Much of the codebase was clean, but a fair amount of it relied on quirks and conventions abandoned in the major version change. This was going to be a lot of work.
The first thing NCommander did was rip out as much code as possible: for one thing, pages would no longer be served statically to the user. In 2015, processing power was already cheap, and it was decided that the team could afford the processing hit in exchange for a cleaner codebase.
However, even without the 40000+ lines that were torn out, there was much work to be done. The CPAN dependencies for the project were a mess; and it still required a custom build of Apache. A major goal for this phase of the project was reproducibility: nobody would have to go through the headache of getting Slash running again. After hours and weeks of patching, it finally ran. On June 1st, 2015, Rehash 15.05 was deployed, running on Apache 2, mod_perl 2, and Perl 5.20. This brought many major changes and upgrades, in a massive wave:
(Doing several massive changes at once like that never works, by the way. It worked this time though. Good job, NCommander!)