# 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