Skip to content

Instantly share code, notes, and snippets.

@blackzphoenix
Last active April 26, 2020 19:20
Show Gist options
  • Select an option

  • Save blackzphoenix/cde033889a72daf9774d54d8a1f19579 to your computer and use it in GitHub Desktop.

Select an option

Save blackzphoenix/cde033889a72daf9774d54d8a1f19579 to your computer and use it in GitHub Desktop.
Four Freedoms Of Free Software

My Understanding of Four Freedoms of Free Software !!!

Free Software refers to free as in freedom and that's what i too believe in !!!. A free software always should guarantee its users the essential four freedoms. The absence of at least any one of these freedoms means an application is not free software. I love the way the Free Freedoms of Free Software is expressed as - 100 ( in binary 4 ) Freedoms of Free Software.

 FREEDOM 0 :    `001 - USE`
 FREEDOM 1 :    `001 - STUDY`
 FREEDOM 2 :    `001 - SHARE`
 FREEDOM 3 :    `100 - IMPROVE`

But i would strongly suggest going through the official page from FSF - Four Freedoms of Free Software. Everyone or most of them know what are the Four Freedoms of Free Software, but when always the big question is "How do we Implement it?". So this blog would be essentially try to justify the same.

Plan of Action

  1. Download searx's source code
  2. Try running searx in our local server i.e. localhost
  3. Lets make few changes in the source code & host it
  4. Redistribute it under same license
  5. Lets make local sever accessible online using localtunnel

searx is a meta search engine which is a Free and Open Source Software under AGPL license which gives us the FREEDOM to Use the Source Code, Study the Source Code, Share the Source Code and Improve & Distribute the Source Code but in Free Software licence alone. And searx is written in python, which can be run in localhost. So we will be utuising this instance for example. But this can be even said as aawareness building for searx as a search engine :)

Prerequisite We need these tools to be installed.

  • GNU\Linux based machine ( I'm working on debian based )
  • Python3
  • PIP

Download the source code from the official repo & possibly we can use two methods

  1. Install Git and Clone the repo

    sudo apt install git git clone [email protected]:asciimoo/searx.git

  2. Download in zip format and extract it.

    4ffs1|460x260

    Click on Download ZIP, save it in local machine Extract the searx-master zip file to

Run searx in localhost

-Open Terminal ctrl+Alt+t - This command opens the terminal -Install Python $ sudo add-apt-repository ppa:jonathonf/python-3.6 $ sudo apt-get update && sudo apt-get install python3.6

-Install PIP $ sudo apt install python3-pip or $ sudo apt install build-essential python3-dev or $ wget https://bootstrap.pypa.io/get-pip.py

-Install & Upgrade tools from requirement list $ cd searx $ sudo ./manage.sh update_packages

-Run searx $ python searx/webapp.py

Output >z@zphoenix-pc:~/searx$ python searx/webapp.py WARNING:searx.webapp: *** Deprecation Warning *** WARNING:searx.webapp: Python2 is deprecated >* Serving Flask app "webapp" (lazy loading) >* Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. >* Debug mode: off INFO:werkzeug: * Running on http://127.0.0.1:8888/ (Press CTRL+C to quit)

So in our Local Machine i.e. Localhost or 127.0.0.1 in the port vale 8888 searx would be running >Use localhost:8888 or 127.0.0.1:8888 Hurray Successfull !!!!! image|460x260

Note : ctrl + c will abort the hosting in localhost

Lets do some changes to the Source Code & host it again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment