Social hurdles

The concept of this extension relies on custom, libre javascript being written for many sites. Some claim this effort is pointless as sites can change at any time. It's true that this is an issue and we're fated to play a cat-and-mouse game, but this does not mean we shouldn't try or that we are fated to lose.

Website owners' cooperation

So, how to convince website owners not to make breaking changes to their sites and to release their javascript as free software?

Pressuring the bad

The first good thing about our approach is that we actually have a voice. If a website is committed to keeping its js nonfree, a third-party script substitute might appear. Even if there aren't any now, the mere possibility of them showing up has a chance of making webmasters treat us seriously. The key is that a site might not like the substitutes. These could work in a different way than the site's operator wants. We, as people in control of a scripts repository, would be in a good position for negotiations: as long as the site cooperates and releases its javascript as libre software, we could agree to include these and not third-party scripts as the scripts to substitute for that site.

Doesn't this undermine the whole purpose of giving users control? No, we could still distribute alternative, third-party scripts for such cooperating sites in the repository. We would just make it so that it is the user who has to manually choose to run these and not the ones the repository marks as default. Also, we could impose further restrictions on site-donated scripts that are to be included in the repo; for example, disallowing sending of user's personal data to advertisers.

We can even do better - only distribute script substitutes that block all a site's ads until the site cooperates. Sure, some ad blocking fans wouldn't like the idea of allowing ads even from "good" websites and could decide to leave our platform because of that. But again, we can still allow other substitutes, including ad-blocking ones, as non-default for given site.

One could think no website owner would be afraid of any of our actions, since a change to the site can break our custom scripts. But the truth is, modifying a website requires resources and webmasters are lazy. Except for some special sites, breaking changes occur infrequently and nobody wants to put valuable resources into constant redesigns.

Besides scripts and other customizations, things like site descriptions, user comments, maybe even ratings and warnings could also be shared through the platform we propose.

Rewarding the good

Our facility shall do more than just replace javascript. Things like user-provided translations, custom styling or accessibility and usability enhancements can be reasonably expected to be welcomed by webmasters. In fact, if volunteer contributions prove good enough, it wouldn't be surprising to see them incorporated into websites. Not to mention that possibility of getting positive reviews on the platform could also be an incentive for cooperative website owners.

We can and should present this project as something good for website owners and not just an enemy of theirs.

Sustaining the platform

While this project is not aimed at generating profit, there are nevertheless some ways in which it and its contributors can possibly gain money.

NLnet fund

Among funds operated by the Dutch NLnet Foundation is the User-Operated Internet Fund. It will support initiatives to "help create an open, trustworthy and reliable internet for all". The description of the fund matches the goals of our project exactly and we have applied. We hope such proper funding could help us pay for developers' time needed to make advancement and start fixing the "Web".


There are internet users who care about their freedom and there are also those who would be convinced by other improvements our project could bring. We hope they will appreciate our work and once the platform becomes notable, some of them will become donors. While we do not count on donations being sufficient to fund a salary for everyone who contributes, they might be just enough to keep any necessary infrastructure running and encourage those who commit their free time to the cause to commit even more.

Once a proper script substitutes repository is set up, we also hope for independent organizations and individuals to come up with mirrors of it.

Being paid directly for some tasks

Someone who wants custom scripts or features to be developed for some site could contract one of the developers or contributors of this platform for that. In fact, even an owner of some website who for some reason wants it to be supported might decide to go this way. In the end, the platform could also become a job-finding tool for programmers and web developers similar to Stack Overflow.

Deals and ads

As already mentioned, in case of uncooperative websites it can be required that all applicable script substitutes in the repository block their ads. What if a site starts cooperating and releases its javascript as libre software? The platform could charge it for mere allowing of ads.

This idea by itself is not perfect. Use of major ad systems is likely to be impossible in a surveillance-free way, in which case even libre scripts interacting with those ad systems deserve rejecting. Perhaps a better option would be for the platform to allow users to opt in for some privacy-friendly ads.

One thing is certain: users who don't want to see ads, should not be forced to. While it might make sense to make some trade-offs in various fields, neither user control nor freedom should be one of these and we must be ready to sacrifice possible profits.

Volunteer contributions

Despite some possible ways of funding the work as described above, community is still going to form the core of this platform. Many excellent initiatives, from Wikipedia through GNU/Linux distributions to existing ad blocking databases, are being worked on by volunteers. The more useful this project is to the general public, the more individuals are going to decide to support it.

Updated by jahoti 2 months ago · 4 revisions