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.
- Chrome browser ( a browsing software )
- 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 .
- You can develop software with a programming language (
be it free / open source / proprietary ) .
- Open source software doesn’t mean Free ware .
- It’s possible to develop a superior secure application
using even open-source languages if you know what you are doing .
- 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.