From 22c46de55591951593a3d31a0ab802a397190bed Mon Sep 17 00:00:00 2001 From: jyamihud Date: Wed, 6 Apr 2022 22:03:07 +0300 Subject: [PATCH] Added FAQ --- default.css | 2 +- faq.html | 120 ++++++++++++++++++++++++++++++++++++++++++++++ modules/render.py | 4 ++ server.py | 10 ++++ 4 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 faq.html diff --git a/default.css b/default.css index dd485ba..f142f08 100644 --- a/default.css +++ b/default.css @@ -52,7 +52,7 @@ h3 { } code { - background-color: #9B744E; + background-color: #000000; /*border: 5px solid #928374;*/ border-radius: 5px; word-wrap: break-word; diff --git a/faq.html b/faq.html new file mode 100644 index 0000000..46bf728 --- /dev/null +++ b/faq.html @@ -0,0 +1,120 @@ +

Frequently Asked Questions:

+ +
+ What is it for? +

+ + Free Competitors is a website where you can find Free Software which can replace otherwise Non-Free Software that you may be using. And it's good to find other Free Software. + +

+
+ + +
+ What is Free Software? +

+ + Free Software is software that respects user's Freedom and Community. In order to do this, Free Software is released with it's source code published. And it comes with a copyright license granting the users with the following four essential freedoms: +

0. To run the software as you wish and for whatever purpose. +
1. To study how the software works and make modifications to it. +
2. To give or sell copies of the software to other people. +
3. To give or sell your own modified copies of the software to other people. +

+ + Free Software is not a matter of price. Nor, technically speaking, a matter of security or privacy. It's a matter of Freedom. But because of the four essential freedoms it tends to be gratis and very secure. Freedoms 2 and 3 insure that if one enmities price is not suitable for you, you could still ask somebody else for a legal gratis copy. And freedom 1 insures that in Free Software will not hide any malicious features designed by the programmers. + + More about Free Software you can learn on GNU.ORG + +

+
+ +
+ What is Non-Free Software? +

+ + Non-Free Software, or Proprietary Software is any software that denies users their freedoms and divides users by not respecting their community. It could range from commercial software developed by big companies, to small, often gratis apps, which does not give the user the four essential freedoms (see: What is Free Software?)

+ Non-Free Software often does not have it's source published. Some of them do, just with a very strict license, denying one or all of the four essential freedoms. Because most of Non-Free Software's source code is hidden from the users, developers can inject the software with malicious features, specifically designed to harm the users for the soul benefit of the developer. See a detailed list of such malicious functionalities on GNU.ORG/MALWARE + +

+
+ +
+ Is this website Free Software? +

+ + This website is not software. It's a website. What you are seeing is a web-page containing no software at all. But, the server that's powering the website is Free Software. It's under the GNU AFFERO GENERAL PUBLIC LICENSE version 3, or at your choosing any later version as published by the Free Software Foundation. The license is specifically designed for web-servers. Anyone can open a copy of this website, but there will be a requirement, by the license, to make it's corresponding source code available to the user.

+ + The corresponding source code of this website is available at the end of the page. + +

+
+ +
+ What is JavaScript? +

+ + JavaScript is a programming language most used to add additional functionality to web-pages. This website does not use any JavaScript, but most modern websites do. A lot of them are even built entirely in JavaScript. Which makes them Software and not merely web-sites. So we list them on this website. + +

+
+ +
+ How does it find Competitors? +

+ + Each software is listed as a database file listing their various features and anti-features. Comparing them to find matches, we can find software with similar functionality. For example: WhatsApp is a messenger, so is GNU Jami. Both will have the word "Messenger" written in their features databases. Some include more common features then the others. Thus we can sort them and give each one a suggestion score. Some software have more anti-features than others, which we use to influence the suggestion score too. + +

+
+ +
+ I spotted a piece of software that is missing. What should I do? +

+ + We need to list each software manually to make it appear on the database. So if you find a piece of software that is missing in our catalogue, don't hesitate to tell it to us. We have a special comment thread dedicated to this. + +

+
+ +
+ I spotted a mistake in some software's data. What should I do? +

+ + We list each software manually to make it appear on the database. So we tend to make mistakes sometimes. Don't hesitate to tell it to us. We have a special comment thread dedicated to this. + +

+
+ +
+ How can I help the project? +

+ + You can help us in four ways:

+ + * By helping us list software on the website.
+ * By hosting an instance.
+ * By helping us improve software that hosts the website.
+ * And by spreading the word about it.

+ + Please click on the "SOURCE" button in the end of the page to get started. + + +

+
+ +
+ Does this project have an official Discord room? +

+ + If you will look up Discord on the website. You will see that it's Non-Free Software. Thus we don't use Discord.

+ But we do hangout in a chat using the [matrix] protocol.
+ + #freecompetitors:matrix.org + + + +

+
+ +

+Now search for something and get a list of Free Competitors for it. diff --git a/modules/render.py b/modules/render.py index dc6a1f6..bcb450e 100644 --- a/modules/render.py +++ b/modules/render.py @@ -187,6 +187,10 @@ def source_code_link(page):
+ +
+ +
diff --git a/server.py b/server.py index 04d8f6f..8e9070c 100644 --- a/server.py +++ b/server.py @@ -140,6 +140,16 @@ class handler(BaseHTTPRequestHandler): fontfile = open("OpenSans-ExtraBold.ttf", "rb") fontfile = fontfile.read() self.send(fontfile) + + elif self.path in ["/faq", "/faq?"]: + + # The font file + + faqfile = open("faq.html") + faqfile = faqfile.read() + faqfile = render.search_widget(faqfile, ADDRESS) + faqfile = render.source_code_link(faqfile) + self.send(faqfile)