FreeCompetitors/README.md
2022-03-31 15:17:41 -05:00

72 lines
3 KiB
Markdown

# FreeCompetitors
A search tool for free software replacements.
# CONTRIBUTE!
## How to add new software:
In the [apps](apps) folder there are a bunch of json files for software. Here is an example:
- `names` what the software is called.
- `comment` about the software.
- `links` to learn more about the software e.g. `git` (where the source code can be found if it it's available), `website` (software's website if it exists) and `wikipedia` if there is some wiki. At least one of these needs to be there.
- `icon` a **link** to the icon of the software. For now no images will be stored in the repository so it takes up less space.
- `platforms` where the software can be accessed from e.g. Linux, Windows, Android, iOS, Mac. For websites just write `Web`.
- `interface` used to access the software, e.g. GTK, HTML5, JavaScript, Touch
- `languages` the main programming languages 40% or above that the software is made out of.
- `networks_read` if the software uses something like a [network](https://en.wikipedia.org/wiki/Social_networking_service). This means the software is able to view content on that network.
- `networks_write` if the software uses something like a [network](https://en.wikipedia.org/wiki/Social_networking_service). This means the software is able to do stuff like publish or write comments on the network.
- `formats_write` if the software can write files to your system what formats does it support.
- `generic_name` names that can be used to describe what the software is.
- `issues` if the software has privacy related issues.
```json
{"names":["YouTube",
"You Tube",
"youtube.com",
"youtu.be"],
"comment":"A platform for uploading and watching videos.",
"links":{"website":"https://youtube.com",
"wikipedia":"https://en.wikipedia.org/wiki/YouTube",
"icon":"https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/YouTube_full-color_icon_%282017%29.svg/120px-YouTube_full-color_icon_%282017%29.svg.png"},
"platforms":["Android", "iOS","Web"],
"networks_read":["youtube"],
"networks_write":["youtube"],
"formats_read":[],
"formats_write":[],
"generic_name":["Video Player", "YouTube Client", "Music Player", "Publication"],
"issues":["Surveillance", "Non-Free Software", "Non-Free JavaScript", "DRM"]}
```
## Create a `port.json`
When modifying the code, in order to test changes you need to rerun and put in the port number over and over. To solve this you can create a file called `port.json`:
```json
{
"port": "8080"
}
```
Now it will stop asking for port numbers and use the port you put in the json file.
# TO DO
- [x] Add interfaces and language parameters in json
- [x] Documentation parameter in json
- [ ] Make creating json files easier. Somehow......
## New software ideas
- [ ] Gitea
- [ ] Emacs
- [ ] Blender
- [ ] Krita
- [ ] PixelFeed
- [ ] Bibliogram
- [ ] Nitter
- [ ] proxitok
- [ ] librarian
- [ ] fastlbry-terminal
- [ ] lyberry-qt
- [ ] palemoon
- [ ] icecat
## Nice to have
- [ ] Make a way on the website editor to submit json files