Friday, November 30, 2018

Difference between Malwares, Freeware , Open Source and Community Edition Software


A software is not necessarily something that is physically installed in your phone or laptop or computer . it can be even a website that you access . For example , when you access your Gmail account on your web-browser you are using the following software.

  1. Chrome browser ( a browsing software )
  2. Gmail ( a web based email software )

Another basic understanding is that a software is developed using a programming language and not the other way around .

Example : If you happen to be reading this blog on a Chrome browser then here is a quick thing . The core functionalities of Chrome were written in a language called C++ .

With these let’s start . I promise not to take much of your time .

Malwares :

Software intentionally built to create trouble for the user , steal information about user , execute malicious codes, bringing down the system performance for gain . Can free software be malware ?. Yes . if the software is found to be doing something illegal and counter-productive for user.  Applications that are built by un-verified / in-experienced users or potentially organizations with a malicious intents .Remember applications can even be a web application . So if you visit a shady website of any sorts and as a result of it have a virus infection in your device , that means the website is considered as a malicious site .  

Pros: Nothing
Cons: Almost everything

Freeware :

Software that are built to be distributed free-of-cost to anyone who is interested to use it . There are a few caveats here . The developer may not charge the user . But instead try different avenues such as ad-displays in your software when you use it to earn revenue . Simple of example of a good freeware ( Gmail ) . It gives you a free email account with 15 GB of cloud storage . But strictly speaking it is not freeware because Google monetizes the data you store on those emails to various businesses for ad revenue . When you see a hotel ad on your Gmail account page , its most likely because you have very recently having a travel itinerary in that particular city . Sounds familiar ? Yet, it’s perfectly fine to use this software as long as you use some basic precautions to not expose any un-desirable information .

Pros: You get to use the software and all its functionalities free of cost .
Cons: Unless a freeware is being monetized in alternative ways other than subscription from user , it’s more likely you won’t get any support if things go wrong .  For example if your office email Outlook client is not working , your help desk can even get Microsoft’s Engineering team on a call if the problem is serious . But it’s not really possible if it happens with your Gmail account . Worse , if there is no monetization you are at the mercy of the software’s creator unless you yourself can find out a way . And its again a unlikely scenario if the developer has not published the code behind the software or if you don’t have the expertise to look at it .

Community Edition:

Community Editions are also free software . So what’s different about them . Community Edition software is always backed by a product development company that has a commercial edition of the software which always have some critical and better features compared to the Community Editions . The simple difference is that for the community edition you will have to depend on the community of other users who use the same software . But for commercial edition the company will provide dedicated support .

A slight variation of the Community Edition is the Express Editions and Trial Editions . A trial edition will give you full functionality for a limited time period . Express editions are just another name for a community edition where you have some limitations .

Pros: You get to know the product , and use it without any commitments as long as you want ( if it is not trial ) . Good Idea if you want to decide whether you need commercial support .
Cons: You don’t get commercial support . So if there is a critical bug in your community software you are left on your own or depend on alternatives . But if its commercial the company will jump into action at the drop of your hat. You cannot re-distribute the community edition as you will not have access to the source code . You might know the obvious flaws and can develop work-arounds for those flaws .

Open Source Software:

Open Source Software are a totally different league.  The core idea of Open Source Software is freedom of usage. As user your preferences take precedence . Even if that preference takes you to a difficult situation.

E.g : The kernel of Linux ( Operating system that supports almost 80% of super computers in the world ) is managed by the Linux foundation . The kernel has close to 13 million lines . And it is managed by a group of volunteers who help in guiding the project goals set by the foundation  .

What makes Open Source Software special is that you can re-distribute the software . What do you mean by re-distributing a software . I’ll explain that . Before that you should keep in mind that Open source software almost always publish their source code ( which might be developed in a multitude of programming languages ) . So you can pick up the source code and make suitable / desirable changes that you want to make and publish it. Again let’s say someone wants to test or use the software with the changes made by you , they can ( with certain risks ) if the changes made by you don’t guarantee a perfect software .

Now that you have reached till this , I hope just to do a refresh before signing off .

  1. You can develop software with a programming language ( be it free / open source / proprietary ) .
  2. Open source software doesn’t mean Free ware .
  3. It’s possible to develop a superior secure application using even open-source languages if you know what you are doing .
  4. Security of an application is not strictly ensured by the programming language . It is ensured by the developer / software architect . In my view the limitation of a developer / software architect is the limitation of a software . If they don’t know what it means to develop a secure application , then nothing can help them .

This advice is free ( but with genuine intent not malicious ones 😊  ) . And I’m not promoting the use of any specific type software. It’s a very important decision and which shouldn’t be left to carelessness and ignorance .

An excellent read from GNU.org that gave the world’s first Open Source Operating system.



No comments:

Post a Comment