Friday 29 May 2020

OPENSOURCE : explained

What is Open Source?

 




So if you are using linux or bsd or any unix based operating system (apart from macintosh) then you must have come across the word open source.Now what is opensource? 

The definition of opensource goes as     : software for which the original source code is made freely available and may be redistributed and modified.

Opensource vs Freeware

Many people are unaware of the difference between opensource and freeware.Its true that both are free to use but freeware is only free to use you cannot modify it or redistribute it or see its source code.Thus you are very limited with these type of software.On the other hand opensource software is free to use free to modify and you can even redistribute it!

Confused right? think it in simple terms  let abc be a opensource software and xyz be freeware,
you are free to download and use both of them.

But you can modify(program and add new features!)  abc and you can see how it was made, its sourcecode (source code means the entire code of the software ) and you can redistribute it (sell it after modification or new feature addition)

On the other hand you can use xyz for free but the other features available for abc are not available for xyz.

For the non-techie person :  Steve Weber in his book 'The Success of Open Source'  uses a simple analogy with coca cola to explain the difference between opensource and proprietary software.He explains that when you purchase a can of coca cola you have the right to drink it and a vague list of ingredients is given on the side of the can.But the real recipe is not provided to you its a top secret and kept secret and only a few handful people have access to it.Same is the case with proprietary software, you can buy a genuine copy of Microsoft Windows Operating system but you dont have the right to see its source code.

Why opensource? 

Now what is the real user side or client side advantage of opensource software?

The advantage is you as a user can be sure that the software you are using is not only free but also free of malware 
 Some bad people (spammers and unethical hackers) spread malware hidden within freeware.So if you see a website providing you a costly software for free dont jump for it and grab it unless it has been reviewed and ensured to be malware/virus free  by a good number of users.

Where is all this stuff available?

Now after reading all these you might be thinking where all this stuff could be found?
Talking about the application or software : you can find the open source alternative of a proprietary software  by just a simple google search    like :  Open source alternative of  Windows 10...

Now for the programmers or developers who want to see the source code it is most of the time available on Github or any other version control system hosting service (to know more about github and VCS checkout this). If not then search the official website of the software.

And all the modifications can be done from there i.e github or etc.

 

 Is OpenSource  the Future of technology?

Open source technology has its own benefits: 

  • The software is reviewed by thousands if not millions of developers.
  • No chances of malware since its rare case that a hacker could upload any malware on a software being looked at by hundreds of users at the same time.
  • Security flaws are easily identified and corrected soon
  • The softwares quality becomes better  

hence after seeing all its benefits it is clear enough that opensource software is not going away soon in fact many companies are making their softwares and applications opensource.

How do opensource software making companies earn?

Now this is a question that might come in the mind of many users that how do these project owners earn? you have probably heard that when you don't pay for a product you are the product .

So that's not the case all the time.Opensource projects earns from donations and contribution of  satisfied users, so if you are pleased with the quality of any open source program then do bother to donate a few pennies to the creator.Many Open source projects also have paid plans with some extra premium features over its free plan.


Opensource Licenses

Now all opensource softwares are not the same. They are published under particular licenses as chosen by the creator. I am listing some of them here:
  • MIT license
  • BSD licenses 
  • GNU general public licenses (GPLv1,GPLv2,..)
  • Mozilla Public License
                                                 etc
you can read more about them here https://opensource.org/licenses

so this was all about open source if you liked this post then share it and help more people to explore the world of open source.

have a nice day.



Thursday 28 May 2020

Beginners guide to linux

Welcome friends this is my first post.Here i am going to discuss with you how to shift to linux from MacOS or Linux.

so lets get into it,

After Microsoft ended support for windows 7 many people have migrated to a linux environment.Whatever might be the reason for your migration linux community will appreciate it and welcome you with a warm greeting.

Note: Always use the operating system that best suits your needs and keeps you productive throughout the day.


Best Distros for Beginners

First of all if you have done a bit of Google Fu then you must have come across the word Distro. Now what is a distro(or distribution in broad)? 
A distro is a collection of software built around the linux kernel.Basically there is not much difference between the distros apart from the fact that they have different package managers (coming to them later).So there are plenty of beginner distros laid out. Naming some:
  1. Ubuntu               {pros :  most popular linux distro, Great community support, ease of  use ....                                         cons : a bit resource heavy lags on old hardware}                                                                           
                                                                                                                                 
  2. Linux Mint         {pros : lightweight , easy to use , windows like look and feel,good community                                                      support....                                                                                                                       cons : not as popular as ubuntu but there has been a lot improvement in its                                                  popularity}                                                                                                                               
                                                                                                                 
  3. Elementary OS   {pros : look and feel like a mac os , great look and feel                                       cons : community support is a bit slower}[dont get afraid by the purchase option on their website just click it and it will start download you dont need to pay anything its open source ;-) ]                                       
                                                      
  4. Zorin OS             {pros : windows users will feel just at home, plenty of essential pre installed                                              software}                                                                                                                                                 
                                                              
  5. Manjaro linux     {pros : get the taste of the legendary arch linux distro without the hassle ,ease                                            of use, serves bleeding edge software                                                                                       cons : although it promises to provide you with the latest software in the                                                    market   you dont get it before two weeks or so }                                          
There are plenty more of them but it is not possible to list all of them in one page. You can checkout the distro's and their rankings on Distrowatch.

How to get started?


So after you have chosen your distro you can move forward.If you are confused with the plentiful distros then my suggestion would be try out them in a live cd or usb, its the best option, a live environment will not make any changes to your main machine or system and you will get the opportunity to test them before you start using them , and don't wait for any body ,not even me, to tell you that this distro is good this one is bad blah..blah... Just roll out the distro and check it out yourself.


After you have checked and decided which distribution meets your needs you can just follow the easy installation steps provided by the distribution.


How to make a live CD or USB? 


STEP 1  :        To make a live cd or usb you will need the iso image file of the distribution.Go to the official page of your chosen distro and grab the iso file.Chose the iso file according to your cpu architecture (32 bit or 64 bit ) and if you are unsure about that then go for the 32 bit iso (drawback is that a 32 bit iso can only support upto 4gb ram so it would be better if you check out your cpus architecture by a simple google search)


STEP 2  :        Now if you have downloaded the iso image file you have to download a software for burning the iso file to the usb or cd(burning to a cd  requires a software it can be done from the iso image burner, you can download it and use it but here i have focused on usb since most iso files are a bit larger in size).


                   Windows /MacOS


If you are on windows or mac os then i would prefer you to install Rufus. It has a good UI and is easy to use.Just download the software and run it as administrator.

Then insert your usb  into the computer. 
[warning: keep a backup of all your personal files on the usb or cd since after the burning of the iso everything on it will be lost]

Then  select your USB drive from the device dropdown menu in rufus.

Place a checkmark  next to the "Ceate A Bootable Device" box and select "iso image" from the dropdown menu.

Now navigate to the folder where you downloaded your .iso image file and click "open"
{keep the rest of the settings to default and dont make any changes}

Click on ”Start” 

Click on “OK” to confirm that you want to erase and format the USB drive for use with Rufus.

Once the burning is completed you can close the software and eject your USB safely.

Linux


if you are a linux user then you can use the dd utility (CAUTION) to burn your iso image file to the disk 


            first of all unmount your usb 
            $ umount  /dev/sdb  {sdb is the device name in my case check out your                                                      device name using    :    $ fdisk -l }

Now you can use dd but be careful check out your command twice before pressing enter since its a destructive tool 

             

             $ mkfs.vfat  /dev/sdb -I     {this will format your drive to FAT filesystem}


             $ sudo dd if = /path/to/iso/file  of = /path/to/usb/   


     [ IF stands for Input File and OF stands for Output File ]


grab a cup of coffee till dd completes its task ;-)


now after dd has completed burning it will display an ok message to you that ensures the file is burnt properly.


Now you are ready to rock with your USB.


How to boot into the live system?


After you are done with creating a bootable usb now you can boot your system to the live environment and enjoy your new OS.


shutdown your computer and insert your usb drive into the computer and then restart your computer

Press F12/F2/F10/esc/del key {depending on your motherboard search google for your motherboards specification for key to enter bios menu} to enter BIOS menu.

There you have to navigate to the boot device selection menu and select your usb device or move your usb device to the top of the boot device priority list.Then press enter to boot to your usb drive.

now you can follow the instructions provided by your distro.You should have a try now or live option select that before installing and then chose the distro which pleases you and go for it.Most of the linux distributions provide a Graphical installation window except for ARCH LINUX.

I would recommend you dont go for debian or Arch or Gentoo or Slackware since they are regarded as some advanced linux distros. Obviously once you get used to linux environment and the command line you can move to Debian or Arch or ...



        Have a Nice Day;















CTF's What are they and Why should you care ?

Capture The Flag events aka CTFs Capture the flag competitions are an excellent way to get started with hacking. Ctfs are organized by vario...