Floss_Introduction_-_The_Jordanian_Way

Proposed addition to this document

Why should we know about FLOSS?

Introductory Phrase “In one hour I have to give you my experience during the past 8 years and I am leaving my work to help you understand FLOSS voluntarily (for free), this is what FLOSS is all about, to share knowledge between human beings”

Historical background is not needed about FLOSS, though it will be mentioned later in this lecture, but we do not need history to believe in an idea that will set us free. We believe in the results we see, we believe in what our minds canabsorb, starting from there, why should we know about FLOSS? Let us discuss the concept, the idea that brought Linux and different Free Software and OpenSource Software, let us not discuss FLOSS from political or religious point of view since we might not have the same references or ideas politically and we might not share the same believe of a certain religion, but for sure we share humanity.

Let us discuss a basic principle that fulfills a “Basic Instinct”. Being free and enjoying freedom is something that people in different countries died looking to achieving it, and they might have died trying and never saw it nor enjoyed it. Well, I am not asking you to be free physically and die for it, I am asking you to free your minds, and think, to embrace an idea that might provide you, me, and the coming generation with technology and economy freedom.

Being free worths it, being free worths the effort of trying and failing multiple times, being free worths a life-time spending into seeking it. If you think that being free is one-click away then you are WRONG, it is NOT. It will take time and effort, so if you are looking for something easy then you are not seeking freedom. I am not here to do marketing for a certain company, I am here to tell you the truth and to market one thing “Freedom”.

What is FLOSS?

  • Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions only to ensure that further recipients can also do these things. To make these acts possible, the human readable form of the program (called the source code) must be made available. The source code may be either accompanied by a software license saying that the copyright holder permits these acts (a free

software licence), or be released into public domain, so that these rights automatically hold.

For political and ambiguity (Free as in free drink or Free as in Freedom) reasons, alternative terms for free software have been proposed. The most popular of this is "open-source software", and others include "software libre", "free, libre and open-source software" ("FLOSS"), and "free and open-source software" ("FOSS"). The antonym of free software is "proprietary software". Richard Stallman, started the free software in 1983, when he decided that software should not be monopolized and it must be shared between humans (as he used to do with his colleagues when he was working in MIT labs), he started by writing different tools that he used to use on Unix systems, such as emacs (editor) and gcc (started as a C compiler and ended up to be a collection of compilers, for C, C++, Java, Ada and Fortran), amongst others, and he started the organization Free Software Foundation, which started the GNU (GNU Not Unix a reverse acronym) project, and wrote the GNU Public License (GPL)which gives the software users the ability to use, study, and modify without restriction, and which can be copied and redistributed in modified or unmodified form with one restriction that the modifications are redistributed under the same license (GPL), which gives the users the abil ty to use these modifications and so on ..., it has what is called a Viral Effect (Like a virus that distributes in the software).

The free software foundation (FSF), started the idea of free software and many people joined it, the idea was to replace Unix system with something that is as reliable while being free (of charge). Anyone used Unix systems knows that Unix is an OS that is not easy to deal with but also knows that Unix is a powerful OS, server-based, secured and reliable. The problem was that they lacked the kernel, the core that interfaces their applications with the hardware, that does the scheduling of processes, and manages the memory. That was invented by a University student called “Linus Torvalds” in 1991 and made it free under the GPL (General Public License) license, which is, in short, gives the user the right to use, copy, modify, read the code with only one condition to contribute your changes, fixes, and ideas back to the community, which is a legal request, since what you used was contributed by the community and the community has right to be paid back with your contribution(s). FLOSS software, contains many other licenses, like BSD license, GPL, Apache, and other license (these can be found on http://www.opensource.org/licenses/alphabetical). For people interested into knowing more about the history you can check wikipedia or the references at the end of this document.

All these are using FLOSS?!!

FLOSS has evolved during the last decade in a way that made many companies and countries adopt the FLOSS software, companies like IBM, HP, Apple, Sun, Google, Yahoo, facebook and many others, countries like Germany and Brazil, are using FLOSS, to add more some of previously mentioned companies dropped their proprietary OS and adopted Linux, IBM had AIX, HP had HP-UX, Apple had Mac (now it is called MacOSX, which is based on FreeBSD), Sun opened the source for SunOS,facebook is using open source software, such as apache, php, memcache, Yahoo is using PHP too, Google is using Python and all their search engine machines are Linux based). The list of companies and countries that are adopting FLOSS is much more than what is mentioned here, and the list is increasing rapidly, many is dropping the proprietary software and are using FLOSS, Oracle, has created the unbreakable Linu system, that contains a combination of Linux and Java software plus the Oracle database.

NSA, National Security Agency, has created a modified version of Linux, more restricted they called it SELinux (Security EnhancedLinux) that they challenged users and crackers to break the system and giving those the root (the machine superuser) account's password!! All of these are using FLOSS, and we not?!! Isn't this strange? Actually it is not, it is due to ignorance and FUD(Fear Uncertainty and Doubt)!!

Please do not use FLOSS

Please do not use it, this will keep our (existing FLOSS experts) salaries high. But, nevertheless we want to share with you our passion to FLOSS:

  • FLOSS opened our minds on new eras of thinking, technologies, and techniques.
  • FLOSS offered us, beside code, knowledge, experience, and ideas from different contributers. We have looked at many ways of thinking of a problem, which made me even more experienced.
  • We are not limited by vendors, not forced to use their ways of doing things and we are not limited by an external element or to a 3rd party.
  • The feeling of having multiple choices and multiple paths to walk, although sometimes confusing, but again we are free to choose our path amongst them, and beyond that if we didn't want to walk in any of the paths we can build or customize our own path and walk it. At least, for God's sake, we have multiple choices question, we do not have to choose answer A always since there is
    • nothing else but answer A.
  • Although knowing the truth and embracing freedom is hard, takes time to train your mind to accept the truth and that all people around you are looking at you in a weird way, but we know that freeing our minds from the illusions and the lies, worths al the obstacles and problems that we needed to overcome and we might need to overcome in the future.
    • It was hard, it took nights of reading, trying things, and worst of all the taste of failure multiple times. Well, learning something needs effort, if you are not looking to learn then you should leave this session and go to the nearest computercenter and join a DotNet course.

  • We were raised to be dependent on our parents, teachers, lecturers, employers, etc ... We do not want to decide and we like others to decide for us, this MUST stop ASAP.
  • Being selfish and ignorant is better, who cares if the country buys licenses for our education system that worths 20 Million dollars?!! Well, we should care now, since part of the expensive life that we are living right now is our responsibility. It is the “Butterfly Effect”.
  • It is not easy to be a FLOSSer (FLOSS user), you need to be strong to take control over it. Once you control it you love it and you cannot leaveit, even if it gives you hard times, since you bare with your lover, you take care of him/her, you accept his/her weaknesses and strengths, you try to make the relationship succeeds whatever it takes, especially if you know that your lover has what you love like reliability, security, honesty, integrity, and credibility.
  • It is important to look at FLOSS's inner beauty, its essence and its soul. Appearance is important but who wants a friend that can be gained quickly but in the hard times it fails and disappoints you, while you need to put more effort to gain another type of friends, that you may not see him for days, but in hard times its reliable and you are sure that he won't disappoint you never ever.

FUD.

Fear, Uncertainty, and Doubt, is something that you need to take care of, we are not asking you to go and drop every closed source software and use FLOSS, this is not practical nor acceptable request. We are asking you to think of FLOSS alternatives whenever possible, although I doubt, but you might not find something suitable for your needs in the FLOSS alternatives, here you need to think of either two ways:

  1. To find the nearest match, and invest time and money into making it what you want.
  2. To buy a closed source software that matches your needs

Deciding which one to use must depend only on TCO (Total Cost of Ownership which equals Initial Cost + Running Cost). What will it cost you to do the modificati ns? And what it is going to cost you to buy othe closed source software and paying its licenses and its upgrades? What it will cost you to bring staff to work on that? It must not be based on whether we like it or not, or whether we know it or not. You need to take the decision that is better for your department, your company, your business, your country, your needs, but how can you determine that if you did not even try, learn and know FLOSS? If you know that it is trust-worthy you will consider it in your decisions and you might take the decisin of using it.

Linux isn't for everyone

GNU/Linux is a good alternative to Microsoft Windows and to Mac yet Linux isn't for everyone but unfortunately large numbers of users for whom Linux would be perfect don't even know what Linux is.

Linux isn't suitable for you if you

  • don't believe in freedom
  • don't believe in the ethical reasons to use linux
  • really enjoy googling for cracks and updating your anti-virus.
  • Fancy waiting for Service pack

Reality Check!! FLOSS isn't perfect

[Personal Story] Once, in a company i used to work for, I had to suggest a M$ solution because I didn't find something that matches the client's needs in the FLOSS software, and writing one would have cost the client 6 months, and a hell of money with 9 people to write that piece of software, and since time to market was important to the clien and the cost of the project might make the client drop the project and by that my company would have lost the project, I looked for an M$ alternative and I found one that matched the client's needs and using that alternative it took 3 months and 4 people to do it with around half the money we asked for before. This is being practical and seeing both sides of the coin, knowing potentials and having the knowledge to decide which is better. Which, by the way, was a wrong decision strategically!! We looked at the Initial Cost only, we ignored the running cost, running M$ solution cost the company more, since every time and then it needed an upgrade or security patch and for that it needed to be restarted which is considered a long down time for a 99.999% service (5.3 minutes downtime during the whole year), and the problem is that these upgrades and patches requires time and sometimes they required code modifications, since the old code that used to run on WhatEver doesn't run now on WhatEver SP1 or SP2, and the problem is we do not have the choice, we have to go with whatever the vendor gave us.

It is one path, there are no other way than to do it their way. The client's service must be up 24/7, practically this never happened, since every time and then the service has to go down for sometime for upgrade or patch or something else. Linux choice in this case could have cost the client more initially but operating it would have cost him almost nothing and the server might get dusty and forgotten somewhere in the server room and no one knows that this server has a powerful OS that is running reliably 24/7 and even if had to upgrade something, or change a kernel configuration, I can do it while the system is up, most of the changes and software upgrades on Linux will not require a reboot unlike M$ which most of the times require a reboot for an office upgrade.

Of course, life is not pink, and it is not full of roses and butterflies, do not believe that FLOSS is flawless, it is not, there is nothing perfect in the world, please don't understand that FLOSS is perfect, it is a piece of software, it has bugs and it lacks somefeatures. Only trivial software doesn't have bugs (Hello World!!). But FLOSS matured and time by time is becoming better, more powerful and more reliable, why are all the previously mentioned list are using it then?!! FLOSS software might be sometimes tricky and bad. Some companies and developers, write FLOSS software but offers it in a cryptic way that only them knows what the crap in it means. Thats why you need to dig into good, well documented software to use, or to modify. Some projects has their own coding standards, that if you want to contribute code to them you have to follow their standards, they have auditors, who review the code and check it and make sure that it is bugs free (at least known and obvious bugs), some do not have that so their codeis not professional and some professionals do it intentionally.

[Personal Story] I remember that we had to customize DrakX for an embedded Linux version called Xypnos, we had collected all the packages and built that distribution, which was built for appliances, from scratch. DrakX (The Mandrake distribution Installer) is written in Perl, and whoever used Perl knows that it is cryptic without making an effort to make it. How about if you intentionally made it even more cryptic? No comments, no self-explanatory variable names, no obvious functions or functionalities? It was a NIGHTMARE. Some FLOSS software I had to take my hat off respectfully, since they were written by professional developers and were written in a clean way. Some caused me to cry and stay up nights and nights trying to translate the code from its Holographic look to something human-readable. FLOSS documentation is not an exception, since FLOSS documentation might also be a crap. There is a function in the GNU C library called strcasestr which doesn't have a man page. I looked for it in the system files to find it. So documentation might give you some headache, and you might end up reading every mailing list, and read the ideas of every foolish on the Internet to find a solution for a certain problem. The interesting thing that you might end up with the RTFM (Read The Fantastic Manual). So you go and RTFM again and again and try different things and trace the software, debug it to see what it does until you finally find the solution either by yourself or by someone from the net. In either case you will feel the victory, which will wipe out all the failures before it. These facts are needed, so you do not BOOM with the reality, once you take the free road, you have to be exited from the illusion and to know that you are going to live the real life. This is not a piece of software that is sold to you as if it is the best software you will ever have. It is NOT, it is a piece of software that is free. Free, as in freedom, gives you the chance to make it the best software (at least for your needs). Some people might think that WOW!! Is it that bad?!! Actually it is not, but also it is not perfect, so do not come with presumptions that it is bad or good, come with the intention of giving it a try, knowing it, and see what it is capable of.

FLOSS and Desktop Users

Linux (and its predecessor Unix) were built as server-based operating systems, for that they are highly secured, reliable with real multi-processing and multi-tasking. Linux now is moving to the end-user section, it tripled many times on the way but they started in the last 3 yearsto get it right and to offer the users beautiful and even better end-user applications, tools and utilities like OpenOffice and FireFox, amongst many other different applications from games, IDEs, editors, browsers, Desktops, etc ....

I am Using Hacked Version!!

FLOSS is a dilemma for most regular users in our country I will not say that I do not support hacked software, on the contrary, without that software we might not have learned many things, although it is illegal but who is judging you?!! We already use hacked software from around the globe and Microsoft software is no exception, so go on and continue using the hacked software but be aware that Microsoft is making it harder and harder to be hacked, and by having the copyrights law in this country applied the government is going to make it even harder, so you will end up, sooner or later buying a PC with 250 JDs and software with around 500 JDs (or even more) to do your work or being judged and maybe punished by prison or paying money. So instead of being forced either to:

  1. Buy software that you were used to take for free from the streets
  2. or Move to FLOSS

Move to FLOSS and migrate to it slowly until you become familiar with its pros and cons. Do we need to wait until we are forced to do what we do not want to do? We might not be able to do either when the moment of truth comes if we are not prepared. When we have the knowledge, the closed software companies will have two choices:

  1. Either to let us move to FLOSS and surrender the battle.
  2. Or continue giving us their software for free (as they did with China) and their server-side
    • applications with very low prices.

In either way I feel like a winner, although I still support FLOSS for strategic decisions, but if we are going to use closed-source software then let us get it in a good deal where we can control the price negotiations and not be forced to them.

Do not just be an observer in your country's choices and decisions be a partner, you might end up an important figure in the government and someone who can make decisions, we might already have some people from the decision makers here, knowing FLOSS gives you a winning card, either you used it or you threatened by using it, it will make anyone negotiates with you think twice before saying any word.

Let us Talk Economics

We are not economics experts, but any one of us and all of us share the same concern about our country, Jordan, we want our country to be great to be the best, to be in the place that it deserves to be in. We have lots of minds and lots of young people who cannot find jobs because we are consumers not producers, we are at max an assembly line, we take cars, clothes and of course software is no exception here, and assemble things together or do customizations and then sell it, let us think logically who gets paid a lot the assembler or the one who produced the parts to be assembled?!!

The answer is clear, its the one who produced, the producer, get the biggest bulk of money, why should Jordan be an assembly line?!! Why Jordan should be a place of reselling customized software?!! This can change but it needs some work from us the Jordanian people, the people who live in this country and who cares about it, people who wants to live better lives while staying in their country and with their friends and families.

Jordan spends lots of money buying software, software licenses, upgrades, support and maintenance, each and every Dinar we save on the country should reflect in better lives for us, we always blame the government, I think we should also blame ourselves, since we are not doing much into helping the government or even ourselves to get over these hard times.

Increasing the number of people who are using FLOSS software, will make some or all of the country leaders pay attention of what is going on there, and will make them realize that there is another option called FLOSS, that will at least remove three things out of the previously mentioned equation to leave us with support and maintenance, which can also be eliminated if:

  1. The setup was done correctly, the admin will rarely need to do any maintenance or support.
  2. Increasing the number of people who knows FLOSS, will make it easy to have in-house support, and to hire administrators, and if in-house support is not needed, then we will have different support companies competing with each other to provide the best support service with best quality and prices.

Its a common excuse for people to say, let us use something else instead of FLOSS, we cannot find FLOSS administrator, or FLOSS developer, or other type of excuses that are meaningless, they actually are not into investing time and money into training people, which at the end will be good strategically for the country.

Companies, institutions and I think even the government, are looking for easy money and cheap labor, though some of them know that this will not be good down the road, when they need to restart the servers because they updated something here or there, or when they need to buy new license for the new upgraded version, or when they need to re-write some parts of the code if not all of it to be compatible with the new version. Easy and fast, a.k.a Quick and Dirty or hit and run, we got our money if the client wants to upgrade he will pay us more and to redevelop the code the client will pay us more, and more and more, what do you think that company will do when the client says its enough, I will use FLOSS, I will drop all the previous work and use FLOSS, at least I will not have to pay all of that and I can get help by myself?!! That client, that user, that person, might be you, but can you take such a decision if you do not know FLOSS and its capabilities!! Of course not, you will be locked in with that vendor for ever since this is your only choice that you know about.

Jordan Economy, will become better, we know for sure, when we become producers and when we have multiple options and when we have capabilities in every aspect of technology, we should not refuse projects or work because we do NOT know the technology, this is an opportunity for Jordan to be an off-shore place for FLOSS technology in general, we should increase the knowledge in it because Jordan can generate money from it, and believe it or not, easy money, and guess who gets the big bulk of money!! Jordan and Jordanian labor.

Let us talk Taboo

Well, this is the area that some people will prefer not to talk about it, but we will, its mainly religion, now many of you will think what is religion related to technology or akh these people are radical or something like that and they will put us in jail. Well this is not true, religion has lots to do with many aspects of our lives, whatever your religion is theft, taking advantage of people and lying are considered forbidden, and unfortunately this is what most of companies and users do, stealing software, looking for cracks around the Internet, taking huge amount of money from people taking advantage of people's ignorance and lying at them when marketing software by hiding its flaws and issues.

In FLOSS you cannot hide flaws, actually you can see the flaw by your own eyes, having the source code, in FLOSS you cannot take advantage of people, help is provided from many for free on the Internet, and with having many local labor knowing FLOSS, its the service the differentiates support, in FLOSS you cannot steal software, its FLOSS (Free as in freedom, grants you free as in free drink).

In FLOSS you are not limited, no one can lock you, if you invest time and money in our labor, you will get the best of all the worlds, cheap software, high level of support and most importantly you will have these legally, ethically and religiously acceptable.

Summary.

Try it, learn it and know it, know what it offers and what it lacks so you can decide not based on what is marketed to you but based on what you know and need. Having its source code makes it possible to check it, read it, verify it, and study it. Being FLOSS makes the software evolves faster and get fixed faster and believe it or not having FLOSS back-boned and supported by big companies like IBM, HP, Oracle, Google makes it worth a try. Try it, learn it and know it, if you are with proprietary software camp, to learn your enemy's language to defeat them, if you are going to support closed source software do not be a negative person that just get fed and spreads what he hears or reads from here and there. We know that media most of the times are biased, and they might drive you to believe that closed source software is better, more secured, reliable, etc ... That might be the truth, go and check it up. Do not be driven, do not be just a sheep in the cattle verify what you are told, verify what you read. Everything is questionable!! So do not just jab and spread rumors around about a closed source software without knowing what FLOSS really is. I am not asking you to believe me either, I do NOT care if you believed me or not, go and check it out, bare with its weaknesses and embrace its strengths. At least if you didn't like it, after all, you will have the knowledge to discuss and to defend your ideas with more confidence and supported with real experience. If developers, universities, governments, and big companies are supporting the FLOSS then there must be something important about it. Some United States is embracing FLOSS and NASA used it in its last trip to March, almost every company now has Linux/FLOSS combination, do you think that all of these people are fools and we are the only sane people and for that we are still using proprietary software?!! Check your ADSL it is FLOSS too, Cameras, iPods, iPhones and PlayStation3, they all use variants of Linux and FreeBSD At the end, I would like you to walk out of this room promising yourselves that you will think about it. Do not think about its history, license, packages, software, vendors, support, look and feel, or if it is easy or not. Think about the principle of adopting it and embracing it, the benefits that you, your nation, and your country might gain by becoming less cons ming and dependent country and people. Adopting freedom and being aware of the importance is your decisi n, since each individual joining the FLOSS community is an important addition to us and is a significant subtraction from the burden that we carry on our backs. Joining the free community has its consequences, and will affect your life, your thoughts, your heart. You will have the time to regret your decision later, and taste the failure and some disappointments, but since you have decided to be free, you will overcome all the obstacles and finally you will enjoy what you do, and it is going to payoff, financially, socially and technically. Quote from the matrix (morphious): “There is a difference between showing the door and walking through it”

References

Floss_Introduction_-_The_Jordanian_Way (last edited 2008-08-06 16:27:06 by localhost)