annotate website/src/blasma.html.luan @ 1827:50e570b598b2

security
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 15 Sep 2024 10:36:46 -0600
parents 5b8f056527a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1651
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
1 local Luan = require "luan:Luan.luan"
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
2 local error = Luan.error
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
3 local Io = require "luan:Io.luan"
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
4 local Http = require "luan:http/Http.luan"
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
5 local Shared = require "site:/lib/Shared.luan"
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
6 local head = Shared.head or error()
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
7 local header = Shared.header or error()
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
8
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
9
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
10 return function()
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
11 Io.stdout = Http.response.text_writer()
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
12 %>
1522
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 <!doctype html>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 <html>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 <head>
1651
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
16 <% head() %>
1522
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 <title>Blasma</title>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 </head>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <body>
1651
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
20 <% header() %>
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
21 <div content>
1522
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 <h1>Blasma</h1>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25 <p>This is my idea for a distributed configurable open-source social forum. I am writing this because I am looking for someone to work on this. I would help but I wouldn't do most of the work. This is because I already have programming that I do for money and I have <a href=".">Luan</a> as my open source project that I work on when I have free time.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27 <p>I believe that this project may appeal to two types of people. It may appeal to someone on the Right because this project would strongly promote free speech. And it may appeal to a Nabble user looking for a replacement for Nabble. I will address each of these.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
28
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
29 <h2>For the Right</h2>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 <p>The problem facing the Right is that the Left controls all major social media which they use to destroy free speech. Of course anyone can set up a website and say whatever they want, but no one will find this content. If effect, one is free to speak but one is banned from all media where one may be heard.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32
1545
Franklin Schmidt <fschmidt@gmail.com>
parents: 1522
diff changeset
33 <p>The Right has tried to address this by creating its own social media sites to compete with the Left. This has several problem. First is the incredibly poor quality of these sites. I don't know how to explain this, but most of these sites are so bad that they are unusable. The least bad of these sites is <a href="https://saidit.net/">saidit</a> which I would recommend since there is no better alternative.</p>
1522
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35 <p>A second problem is that new social media sites are small and are likely to remain small. This is because social media is a natural monopoly. In each social niche, users will generally want to post where they can reach the biggest audience. This is why there is naturally one monopoly site for each niche, and it is very hard for new sites to compete in that niche. In the forum niche, the monopoly is Reddit.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
37 <p>A third problem is that the Left will try to destroy any truly free speech website. They will try to get your DNS registrar to remove you. They will try to get your hosting service to reject you. If you collect money, they will try to get your payment processor to reject you. And they may even try to get the government to ban you.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
39 <p>Now I will address all of these issues in reverse order, starting with the third issue. The solution to the third problem is to make the platform decentralized. Consider the design of the internet itself. The internet began as <a href="https://en.wikipedia.org/wiki/ARPANET">Arpanet</a> which was a military project to design a network that could survive a nuclear attack. So it was designed to be fully distributed so that the network didn't depend on any single point. This is why the internet is so robust and cannot be controlled by any government. A good social platform should be designed in the same way. The code should be open source so that anyone can install it anywhere. Servers should communicate using an open protocol. With this distributed design, there is no single domain name, no single hosting service, and no single legal entity. So there is no single point of failure that can be used to destroy the service, making it as robust as the internet itself.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 <p>The second issue is the natural monopoly of social media. The same kind of situation existed for internet content before the Web. In those days CompuServe and AOL were the dominant internet services. And they were proprietary natural monopolies just like today's social media companies. But the Web destroyed them. The Web did this by providing the free and open protocols of HTTP and HTML. This allowed the aggregate content of many small websites to grow larger than the existing monopolies, and so the Web became dominant. In the same way, an open social protocol could allow different social websites built with different software to all be part of the same social network. In this way, the aggregate social content of many small social sites could grow larger than the current monopolies and could put them out of business. This would destroy Facebook, Twitter, YouTube, Reddit, and all the rest of these evil companies.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
43 <p>The first issue is the issue of quality. Existing sites use proprietary software and largely ignore the needs of users. Existing social sites are not configurable. Compare them to older forum and blog software which are reasonably configurable. The solution to this issue is modular open source software. Such software would be naturally configurable. And this fits with the general view of the Right that people should have control over their property. If you have a forum or blog, then you should have full control over how it works. But at the same time you should have access to the social data from other forums and blogs and whatever so that your users benefit from this social network. So for example, if a user on your forum clicks on some username, they should see the content of that other user from across the internet, but they should see it presented in whatever manner your forum is configured to present it. And if the user clicks on some of that content, he should be taken to the website where that content was generated. This is how one can combine customized sites into one big social network.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
44
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
45 <p>Blasma is an ambitious project, but I don't think it is bigger than <a href=".">Luan</a> which is my project. If someone steps up to do this, then I would be very much involved at the beginning and then eventually let the other person fully take over. If no one steps up, then I won't do anything. I am not immortal, so I can't do everything by myself.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
46
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
47 <h2>For Nabble Users</h2>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
48
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
49 <p><a href="https://www.nabble.com/">Nabble</a> is a forum platform that I developed long ago. Blasma would have many advantages over Nabble. The Blasma code would be much simpler which means that many could customize it. It would be much easier to install on your own server. But even if hosted, each forum would run its own code, so you could control when updates happen. The Blasma scripting language would be <a href="/why.html#nabble">Luan</a> which is much simpler than NAML. Unlike Nabble, Blasma would be social so users could find your forum much more easily. And finally, I have no plans to do more development on Nabble, so if you want a forum with a future, that would be Blasma.</p>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
50
1651
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
51 </div>
1522
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
52 </body>
bafe6a6797ce blasma.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
53 </html>
1651
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
54 <%
5b8f056527a3 docs work
Franklin Schmidt <fschmidt@gmail.com>
parents: 1545
diff changeset
55 end