Friday, July 23, 2010

Why opensource?

In this article, I'll explain why software is best made opensource and try to cut the common arguments of people who do not support it.
A 'free software' does not make any restriction on the source code, that means the source code is made public and one can, copy, freely modify and distribute it as if it was scientific knowledge. Cause of this nature, developers (software engineers) around the globe contribute bit by bit to the source code; the open nature allows the users and developers to communicate, as a results the software made is completely according to the user's needs and contains the user's various creative opinion.
Thus free software works on donations (though source codes, money donations, bug reports, documentation, translation to languages etc...). The power of free software is not to be underestimated. By almost the whole world, free software is proven to be the best and used by true professional and large organizations, both for it's cost effective, free nature and it's quality. The Linux kernel the one of the best kernel ever and almost all super computers use it. There are large organizations which support opensource like Mozilla, Novel, redhat, Intel, AMD, Nvidia and even Google, thus development of such software by all these organizations and developers around the globe result in rapid, quality and secure software. When it comes to opensource, the competitors come together to do something truly productive.
Compared to software which's not opensource, their main aim will be to earn money, they'll try and beat completion (even the opensource ones), gain a monopoly and hike the prices up (like Microsoft has done); they don't care about the users, nor quality software, they just care about money, they want your money, and they'll force you to pay you money. Once all competition is dead, they will most probably stop developing the software and hike the prices to insanity; they usually make monopolistic restrictive file formats which are only going to open in their proprietary applications, thus making a monopoly, you will not even be able to convert these formats to opensource formats and if the company drops support for it, there's nothing you will be able to do. Such things cannot happen with opensource, even you can copy and modify the source code to your needs and the file format will never be lost no matter how much time has passed, simply cause it's your property, a public property like sciences. One reason for the quality of opensource software is that the people developing these are hobbyists, they are geniuses with an intent to create quality software (unlike the proprietary counterparts) and provide it to you and if people do things with interest, the results are fabulous. Any security loophole is fixed within hours with opesource software since there're people working on it round the clock and around the globe.
Microsoft is the king of monopolistic practices and third grade software and successfully have forced people to use the same cause of the monopoly though their monopolistic practices over time. Each virus of Microsoft Windows is a security loophole which an opensource operating systems, lacks. Bill Gates, founder or Microsoft keeps all money to himself and does not spend any on software, and there's nothing you can do about it. You cannot complain to Microsoft about the viruses, worms, crashes and instability or about Vista's requirement being too hight and it being too slow cause it's simply not your right; they won't give a damn, they will kick you out of their offices, and there's nothing you can do. On the other hand we have open source operating system which are more feature rich than windows out of the box yet having a fraction system requirement, thus one can see the inefficient and third grade quality of software that Microsoft has made, which is many times worst than the open source alternatives. Bill Gates is a billionaire cause he took money form people in exchange of Windows and Microsoft Office and people have no option cause the Window software only worked in Window and the word documents only opened in Office (although that has changed now, this was their main intent) – typical monopolistic practice by Microsoft. Windows has been designed to to help the programmers make Window applications, but it's such that any programs written under windows will only work under windows; this is was the main aim of the design and is as of the current date. The operating system has not been keeping quality (security, stability and speed) in mind but looks only to boost their sales and to gain maximum revenues form it. They don't care about the rest.
If you would have noticed, most PCs come preinstalled in Windows, thus if you buy such a PC you will be forced to pay for Window, we call this Microsoft tax, an fabulous way maintain the monopoly and gain maximum profit, and they all bought it in with the excuse of stopping piracy. There're still many laptops available without Windows preinstalled, buy those. They will save you money and also save the software foundation from getting lower in quality.
There're uncountable number of antitrust cases on Microsoft; and cause of this monopoly people have suffered a huge loss; all these viruses, reformats, worms, crashes is cause of Microsoft's monopolistic practices which has forced people to use Windows and killed all competition. You love XP right? But XP is out of production officially by Microsoft and you will be forced do use Window 7 or Vista and will have to upgrade the hardware to 3 GB ram and a quad core processor; none of which has happened to the opensource. Opensource software is for the purpose of the people; for their good not for money and business like with Microsoft; even if there's no competition for a particular opensource software, the development of the software will never stop, it will keep going better and it will always be free of charge and will never force you to upgrade your hardware. Almost all Microsoft product is closed source, that means they never release the source code, and they might be just copying Opensourced code and selling it to you, you don't know, it's a complete lie.
Another lie is that opensource operating systems have very less viruses cause it's not that much widespread as window; this a complete nonsense reason given by Microsoft, Opensource operating systems are used widely by servers, that is computers with top notch internet connection and powerful hardware which are all the targets of viruses and crackers but very less have been able to blow a hole in it.
Microsoft does not even maintain a repository for windows, even though it's a large organization; it manifests that it does not want to spend money, but just earn it.
Microsoft window's command line interpreter is one of the worst in the world, since they know through this they won't get any returns, the users usually do not use it, so why should they develop it (and I know about Powershell as copied form bash)?
Another big lie by Microsoft to justify closed source is better than opensource is that since the source codes are open, crackers will be able to see the security venerabilities and so breaking a software open will be an easy job in open source software; however this does not happen. The source codes are reviewed by thousands of developers world wide and and any security venerability is caught instantly and fixed within hours; this has been actually seen that Opensource software are the most secure and closed source is the least secure; the most insecure software organization in the world is Microsoft (there are billions (999,999,999,999 + 1) of viruses and security loopholes), the people who made this claim; they realize that people do not understand what's security in a software so are least concerned about it, they are only concerned about the sales and revenues generated, nothing more.
If people would have donated the huge sums of money to the opensource instead of Microsoft, it would have done wonders to the current world of software, there would have been no viruses, no crashes and we would have had an amazing world of stable top quality software we cannot even imagine of at the current date, all cause of monopolistic rubbish organizations like Microsoft. If you want this dream to be true, start now by using opensource software and contributing to the community, they need you.
As of employment of software engineers, the opensource organizations employ them by gaining revenues through advertisements or donations. Thus it cannot be directly stated that opensource decreases the opportunity of employment to developers. If an opensource software is used widespread, the donations will be huge and so the employment and developers of software; thus I urge you to donate. And actually the donations will be more as compared to the sales of the propitiatory counter parts, that's cause everyone will donate, from rich to the not-so-rich, the not so rich although will not be able to buy expensive software but can donate a little, making the difference. A big example is the non profit organization Mozilla foundation which gets donations of order of millions of dollars and all are used for productive purpose including employing coders and not used to make large houses or top the billionaire chart for the owner like what's the case with Bill gates... he's actually decreasing the employment by doing to and keeping huge amounts of money to himself.
People argue, “If Microsoft is monopolistic, so it Intel”, I got the answer to that too.
Why don't we have companies which make real world things (that is equipment and all) in an 'open' way that is why do we not have any organizations manufacturing equipment, for example without any restrictions?
The answer lies in the nature of software. Software can be best developed if made opensource, a software development does not require you to devote yourself completely to it; you can spend a few hours of contribution, and there will be considerable development of the software, after your contribution another contributer can continue your work easily. It does not make sense to make software closed source since two organizations can use each other's technology without knowing it, thus the purpose of making software closed source is lost, closed source software might simply use opensource ones and sell it to you but no one will know what's actually happening. Take the docx file format case which Microsoft lost, the opposing company reverse engineered docx format to realize that it was their proprietary technology, and then they acted... this is just one example, who knows what's written behind the binaries?.. may be 90% of proprietary software works over previously applied software patents. This cannot happen with things like manufacturing plants; the manufacturing processes of other organizations can easily be seen, thus making a patent useful. Organizations which make real world (hardware) product, you need to devote yourself completely to it and the task is such that your strategy cannot be learned easily and in a fast way by anyone. To start off such an organization, you need huge amounts of initial investments and employees; on the other hand, doing the same with software is of a fractional difficulty, you can do it alongside your main work. When there's a software upgrade to a new version, apart form adding new feature, most of the changes are bug fixes... problems with the software that was there with the previous version; if the software is free, it makes all reasons to upgrade, since it's free of cost, upgrading does not hurt. However if the software is not free, think, why should you buy a new version just to iron out the issues in the previous, should it not be free? If you do buy , it'll be like buying a car with lots of flaws in it, and after a year or 2, buying another simply to remove the issues – the faults that was in the previously in the car, and actually this should have been done for free but you paid for it, you where made a fool; to top all reason in combination to this, most of the changes in the new version of proprietary software are bug fixes... so you know what you paid for, few visual enhancements (which made the software appear as if it was 'new') and 90% bug fixes – flaws in the previous software now improved after paying more money. Furthermore, the opensource has gained a very high momentum, thus it makes all sense to support such software and kill closed source money minded organizations like Microsoft.

Unique ways to contribute to opensource.

When we talk about contributions, money plays a major role... everyone knows about monitory contributions bug reports/Developer task etc.... However, even if you're not a technical personnel, and do not even wish monitory contributions (for some reasons), there're other ways available also -
  • Hardware compatibility with Linux is a major issue, actually the manufacturer is to blame. So whenever you find such a product not working out, call the manufacturer straight and complain.
    • If he says the hardware is officially incompatible or they can't fix it, tell on their face that their products sucks, and you will never buy their products again and never recommend it to anyone and just demote all their products.
    • If he says Linux users fall in the majority, tell him the statistics are wrong and you see all Linux users around you.
  • Wherever you see a product which requires drivers and all and the Linux compatibility has not been commented on call the manufacturer and ask about it's Linux compatibility. Regardless of what he says, respond by telling him you need to bulk order the product and need 50 or 100 or even 1000... whatever amount of pieces.
  • Check out which companies do not provide any Laptops or Desktops with Linux preinstalled or if there're no products without Windows preinstalled and complain to them about how you're forcing everyone to buy Windows, and decreasing the value of money for their product if someone does not wish to use Windows and you and your friends (or the whole company and take large numbers again.) are preferring computers Without windows installed, but they don't manufacture them.
    • If you're using windows do not buy computers with non trial versions of Microsoft Office or any other such product.
  • Publicize Linux distros by the following points -
    • No need to reformat for life.
    • Very stable.
    • No security issues like Antivirus, firewall etc..
    • For windows there're millions of viruses made daily, but for Linux, there are almost none.
    • A 3-d desktop.
    • No need to hunt applications on the internet to install.
    • Public property, Download, modify and redistribute without fear of being prosecuted.
Although these techniques might not appeal to many, since they are considered 'bad', that is these (except the last point) are mostly lies, but you really have no other option. If GNU is actually going to have that wildebeest image, it'll always be the prey of predators and always be vulnerable.
By far, Microsoft is the biggest rival of GNU/Opensource, it's always trying to kill it by unfair means and causes harm to the people; if they are doing this, the response has to be the same from the GNU herd otherwise it will be the hunted.

Making a sabayon package.

Like deb and rpm, there're also Sabayon packages but cause Sabayon is not known much, such packages are hard to be found. Most probably you will not pass through a scenario where you will actually not get a package you need inside the official Sabayon repository, but if you do, here I'll state what you can do to resolve the issue.
Since Sabayon is based on Gentoo, everything that works in Gentoo, also works in Sabayon including ebuilds which might be commonly considered as Gentoo packages and Ebuilds are found at a very large number, if you did not find a Sabayon package, you will get an Ebuild and you can make the Sabayon package from this. To get the ebuild search in http://www.gentoo-portage.com, or http://bugs.gentoo.org or http://gpo.zugaina.org/ download it and place it in /usr/portage/app-misc//-.ebuild>.
Example if we have an ebuild named limewire-5.0.0.ebuild then place it in /usr/portage/app-misc/limewire/
Make the directories if they are not available. The ebuild name should strictly be limewire-, that is in general -. The directory where this ebuild will be placed in the app-misc directory, should be named , in this case, limewire. Now drop to the the root prompt.
Next, you need to create a manifest of the ebuild by -
ebuild manifest
then you can safely emerge with -
emerge limewire
From here on, there're primarily 2 ways by which you can make a Sabayon package, for one of them run the following commands first -
equo rescue spmsync
Actually emerge is set to do this automatically after merging any package, but do this again just in case it does not happen.
As of the insides on how this works, entropy (the binary package manager of Sabayon) has a separate database to that of portage, but both need to have the same packages recorded as installed, to make out for the differences, we run equo rescue spmsync so Limewire gets recorded in the entropy database and now the package will be installed in Sabayon, you can see it in Sulfur as installed.
Next to build a package off it -
equo smart quickpkg
This will be placed in /var/lib/entropy/tmp by default, override by the switch --savedir.
You should have an entropy package there.
Now let's discuss another way of creating a Sabayon packages from Gentoo binaries which where made during compile time by portage (using --buildpkg or quickpkg), assuming you have such a binary, just -
equo smart inflate
And the resultant Sabayon package will be placed in /var/lib/entropy/tmp.
For this technique, you just need to have the gentoo binary, neither the ebuild nor you need to emerge it through portage.
You can install a Sabayon package with sulfur by going to file>install from binaries...
alternatively -
equo
You don't need to worry about the dependencies, they get sorted out by the Sabayon package automatically. Any dependency in the ebuild or the Gentoo binary will be loaded into the Sabayon package.
Request your Sabayon package, I'll try to make them.

Humans defenseless in the wild?



- no title specified

People often consider themselves to be vulnerable like domesticated chicken when lost in the wild... they say that if he's faced with a wild animal, he will not survive... he does not have the natural 'defenses'... that is physically he's defenseless... however I don't think so and here are my opinions.

You would have noticed, that I'm talking a 'he' here... that's cause there's nothing a women can do in the wild, but a man can.

I say humans can mostly handle creatures roughly equal to their own size alone... that is I'm removing some big cats from the list, but not all like cheetah, a small lepord etc... and of course if you encounter a bear, buffalo, wildebeest etc... there's no way you can fight um back. Even the biggest are afraid of poisonous frogs and snakes.

First, we underestimate our physical strength, apart from being one of the largest land animals, we're also one of the strongest, if you did not fear to death or tried running away from a 80KG anaconda, instead decided to fight it aways, most probably you will win.

So let's start with the anaconda... most men are strong enough to lift it up and if we think we're vulnerable... it wont make sense. If the anaconda grabs one arm, we got the other, if it grabs the head and tries to suffocate, we can still move our arms and all for a while, but what if we get a grab of it's neck tight and to top that, what if we twist it bad?... there's absolutely nothing an anaconda can do, death will come at an instant; the creature might not be able to tell but it will realize humans are pretty powerful creatures physically.

A very powerful thing that we can do is kick, ever realized the amount of muscle around your legs... the thickness of your thies and how fat your ass is? And ever realize how high we can jump with it?... if that impulse (of the order of tons) is applied to your rival, you will know the consequence, what if you just dropkick and it hits your competitor straight?... it might fracture a few bones and after that the wild animal will never face a human... it'll be surely shot afraid. Currently we don't keep any nails on our toes, but you would have noticed it grows pretty thick and will actually work like a small dagger if you do have them.

Next comes the weight. So what if you just fall down on the animal... what will it be able to do?... that's right, nothing. So we got the weight advantage. Instead something like this happens to us, we can at least grab um by our hands by at least a small angle, our limbs have enough flexibility to reach our backs, and we can at least attempt!

Then comes the hands. Something that most land animals miss and our unique weapon. Our hands can slide to the animal's throat, then we can grab some of it's vital organs and cause some serious damage after which the animal won't forget till death (which will be soon). Our hands have fingers which are 'sort of' blunt, but what if you combine with all your force and push it into the animal's eyes or ears?, sure that might hurt you, but it'll hurt your opponent harder. Let's see other things that our hands can do – pull it's ears, pock into it's ears, grab the tongue, and best of all... pull his balls, or private organs... or punch the lower back side which's usually uncovered and very vulnerable.

So next time you see a wild animal or even something crazy like a bear or tiger attacking you (and it's too late to run away), instead of trying to run, stand helpless praying for god, or searching for a weapon which you know is not around; think about these few things that you were born with and use them to your best struggle to survival.

Of course prevention is better than cure, even the animals know that, so should you.

Sabayon Gentoo Symbiosis

Although many people might not notice, but this sort of relationship is unique and one of it's kind, this is the most effective relationship an OS can have on another.
The devs of the binary based distros have to compile packages on their own. They need to take care of it's dependencies, compile time parameters, environment, any sorta group etc... this's what all Ubuntu, OpenSuse, Fedora etc... devlopers have to take care of, except Sabayon.
For Sabayon devs all this job is done by the source based distro Gentoo, this might not sound great, but actually it is. You see both Sabayon and Gentoo have users, so by this relationship the users can utilize the efforts that the devs do while making an ebuild (or Gentoo packages if you don't know); efforts like the dependencies, compile time parameters all can be user set in Gentoo... and this is what the Sabayon devs take advantage of. All they do is simply compile the Gentoo ebuilds with standard parameters so as to make a great generic desktop, thus the Sabayon team is effectively of the size Gentoo + Sabayon devs and the Gentoo users are of the size Gentoo + Sabayon; making a large community.