Pages

Summarize Your Life.

2007/09/03

Addenda to the last addenda to the first post

If you've been reading since post number one — I know, this is only the third one in — you're aware I'm a serious software developer-slash-programmer, writer of science fiction, and neophyte blogger. At times, certain issues may be brought to my attention, and I just as readily may expend a few words to voice my view of the matter. This post is no exception.

It occurred to me that certain people have preconceptions that open source software is, somehow, "less valid" or even "stealing" something, or in more likely circumstances, don't really understand all of what open source entails. Please don't expect me to explain everything about what open source is; enough information is already available elsewhere. However, I've encountered the doubter and misguided hater a time or two, and opinions like these unnerve me. So I'd like to clear up some of the doubts, lies, and misconceptions about open source and freeware, with a comparison to closed-source programs, where applicable.

The following headings and paragraphs list some obvious misconceptions as well as my thoughts on these, in no particular order but what I deem relevant.

"Nobody worthwhile really uses open source software."

This is absolutely absurd, bizarre, dismissive, and a heinous insult. Sad to say, someone really said this. Okay, the word 'worthwhile' could have been left out, but the speaker's derogative intent still would have come through loud and clear. First and foremost, in one sentence, the speaker of this blasphemy has single-handedly slurred countless national, state, and local government offices, innumerable corporations, non-profit organizations, and home users, any one of which may be from almost any nation around the world, who are making a switch to popular open source software or who are growing up knowing only free and open software. Another paraphrased Leo Laporte-ism which I adapted: "you get a computer, you just want it to work." This concept I apply to operating system and software, inclusive of both their design and usage.

And I tend to wonder, just how much of today's computer software that people use have benefited from open source code. How much does the average person take for granted, neither assuming nor knowing whether they're using software made by or with code or other software that implements open source code? Codecs, dynamic libraries, third-party software dependencies, complete applications, even entire operating systems, anything's possible. . . . Yeah, it's really true.

Also, the broad spectrum of usage is wider than you may know. From software for business productivity, to education and training, to entertainment and games, to dynamic and static libraries, scripting, and other middleware code, . . . the range of products and services is astounding, exhilarating, and welcoming. It's open source, and it's here to stay, permanently.

It's often not only the cost but also the availability or ease of accessibility that makes it a more attractive "purchase", which can be illustrated in countless ways. For closed source commercial software, the problem is that (aside from software piracy, and legitimate online sales downloads) the quantity of a particular software that you can purchase is limited to however many thousands or millions of copies get made by the publisher, further limited by how many of that number get delivered to the software stores in your area, further limited by how many other people in your vicinity want or need to buy the same software. Whereas, with open source software, release and distribution to the public is often made easier, via legitimate methods for free and open source programs: developer's and community web sites; inclusion in books, magazines, and other trade publications; making copies for friends; and peer-to-peer file sharing methods. Yeah, you read right.

Or, perhaps this attitude comes from people thinking open source software is (stereotypically) developed by a lone person who doesn't have, um, shall we say, much social grace or opportunity. As a developer of a software project I'm purposing to be open source, I can admit that, in a few cases, yes it can sometimes be that, but far fewer than you might think. Many other open source software developers in reality have been proven to be competent and likeable, as well as generally socialized on- and off-line. Such a discriminatory attitude should not exist; in reality, the person on the other end of that code could be any or all of the following: of either gender, from any country in the world (including those that are otherwise impoverished), very intelligent, and likely cannot be stereotyped as unsocialized.

"Stop! It's putting me out of business!"

First, calm down, stop and take a deep breath. Look outside, or at whatever calming view is nearest you. Then, repeat these words, if not out loud, at least to yourself: DON'T PANIC.

This is, of course, a possibility — that an open source software project and its related community could feasibly do so well that it impacts a corporation's financial statement. Personally, from what I've seen, I don't quite think Big Business Execs et al "get it", or if they do, they can't buy or sell the concept. Certain unnamed individuals within certain unnamed corporations both big and small can, and have, launched FUD attacks against either the concept at large or their particular competitor who uses or develops an open source software. These attacks can, and have, been both public and private wars against what they perceive to be the "Enemy". To which I say, "Enough!"

Let's again take a step back, and breathe. I don't want to tell any company how to run its business, because that would be counter-productive to both me and you. But, some altruisms are a good idea to ponder. Remember, money is not the most important thing in life. I borrow a phrase from Suze Ormon, who most people could agree is a financial expert, where she says, "People first. Then money. Then things."

I would also like to examine the status of commercial and open source development agendas often being at odds with each other, at least viewed from some business perspectives. Let me re-state that, as far as I'm aware, developers in open source projects and communities don't have some vendetta out for their corporate equals, and aren't maliciously trying to put them out of business. Most see the reality that corporate developers must feed, clothe, and shelter themselves and family, something they don't know how to do other than selling the software at sometimes-exorbitant pricing, because they don't yet see a better paradigm. Open source supporters aren't trying to take away business income from them, because meeting financial needs is usually a situation that they, too, have to face. While a very minute fringe, hardly worth mentioning, of open source fanatics may exist who wish a more confrontational stance — I vow that is not me, thus my "as far as I'm aware" assertion.

On the flip side, neither am I trying to say "OSS rulz! Comershal sofwarz sukz!" — No. Nothing so immature, objectifying, and puerile. Commercially-developed software, closed source or not, can, and does, have a place; and I can, and have, supported this truth by buying software. It's a reality that commercial software will be here today, tomorrow, and yeah possibly the next day. While I believe that in the future most everything worthwhile will be free, commercial software isn't anywhere near dying out today. There is still time to find a common ground to agree on.

So, let's just say then that we're not trying to force a battle over the commercial interest, but over freedom to design, distribute, and collaborate on the software itself, instead of business model or financial profit. Dispute this if you must, but don't discount it as a belief; the same as was for the media networks on their way out, fighting against blogging, podcasts, and more, so too is the corporate model bound, to either change with or die unto extinction, to the reach of open source software.

And finally, to allay any fear, uncertainty, and doubt. Aware that some in business are, or may become, in essence Luddite, resenting technology because it may or has forced change in circumstances, I would never try to give you a false sense of hope. Rather, I would hope that anybody affected, negatively or otherwise, by technological advancements could find ways to adapt to whatever new situation comes their way. Perhaps what you think of now as a disaster, could be an opportunity in waiting. In truth, you don't know what tomorrow will bring, until you get there. . . .

"Is it . . . legal?"

Certainly, entirely, and whole-heartedly. I almost hesitate to include this, but since this is the mental point at which many people are stuck, I believe it a worthy addition. Developing, and using, open source software is inherently safe legally, ethically, and even spiritually (if you believe as I do), because of the openness and visibility of the whole process, and the willingness to share with others.

No law can be made against the concept of open source software development, only perhaps against development of a few extreme cases which might break laws on usage of copyrighted or trademarked materials, some technical security/terrorism/threat guidelines, or other minutia which you or I will probably never have to worry about. Again, I am not a lawyer, I don't claim to know the full verbiage or intent of every law, so if you're worried, it falls to you to examine the laws of the land. I know I won't have to worry in my case; I'm not developing anything that could be technologically threatening (only for a fictional aspect, not real-life), and I intent to follow copyright and license standards as matter of principle (while they exist a short while longer).

"With open source software, the user is left alone with the final product, it's a product without support, or I have to compile it myself and I don't know how."

As a rule, it's untrue that potential users are left alone. It behooves all software developers, whether of open or closed source projects, to support their product. Supporting their work says, at its core, that the developer believes in this work, the resultant program and future user base, and will expend a fair and proportional effort in helping users who may have issues or questions. Or, risk alienation by the current and future customer base.

Therefore, you'll commonly find articles, documentation, mailing lists, sample source code, tutorials, and/or whatever web site has been designed for the project. In the very least, if the developer(s) cannot or will not be available for support or has not done well with documentation, likely a larger community of fellow users is available that can be of help. Never be afraid to seek help from such communities, whose users have often been in the same state of requiring assistance; in many cases, that's why some of the more devout community members give such free support, because they know what it's like to need it.

Also, the producers of commercial-grade software, entire corporations even, have on occasion been known to go out of business, or go through a messy process called Mergers & Acquisition where software can become a casualty, or just disappear for whatever reason, leaving untold numbers of software users in the lurch. With no chance to communicate with the developers or the technical support branch of the company (most of whom are busy finding work elsewhere), an end-user would be otherwise left to fend for themselves, if not for user's communities. Therefore, I hope you would agree that commercial software doesn't inherently mean more stable software, or support.

But the sad cry that a potential user believes he or she has to compile the whole codebase is, over all, untrue — However. It is possible but entirely counterproductive for a developer to leave only code for a prospective customer to wrangle, to be forced to handle on his or her own, with no compiled binary ready to run. Again, don't panic or be scared; in the event you do come across such a project, try messaging the developers (calmly, patiently) why a binary format has not been released, and perhaps when a prospective binary build of the software may be available. Try doing a web search for the name of that program; it's possible that other developers have made a compiled version readily available on their own site. As a last resort, look around for alternatives.

"Open source software is of poor quality, design, or is inherently non-securable."

Again, mostly untrue, and subjective. While I might make a disclaimer that a fraction of available open source projects are of lesser quality or design usability, the truth is that even published, salable software might be riddled with buggy code and/or unusable designs. This is, again, not to say that open source software is inherently better; indeed, a lot of open source programs fall by the wayside, and often never get completed for one reason or another.

On the charge of their being inherently insecure or non-securable, this is sometimes true but usually not. It depends on what the developer is doing that might require security functionality, and if he or she is knowledgeable about it. In the realm of open source network libraries and software, at the worst, nobody can guarantee that a hacker could not crack whatever steps were taken to secure the project — but again, this is equally true of commercial, closed-source software, perhaps more so because the majority of hackers seem to love hacking and cracking those types of software (it's like a gold mine to them). In the end, only the end-user can say for sure if the project is or is not fit for their use.

Granted, aside from hackers, a few less-than-honorable developers may be out there, but don't let them taint the true power of free and open source software. Besides, once found out, you can consider that developer's career effectively over; word spreads fast. (Think I'm kidding? Does information ever die off the Internet? I know Sir Elton John sure hopes so, but likely for different reasons.)

"The developer a) won't accept it, b) must give their source code away to the public, c) cannot make money from an open-source project, et cetera."

The mere idea that programmers won't accept the concept of open sourcing a project is preposterous. While not every developer goes this route, more and more developers are willing to do so, as evident in the occasional poll results of developer's surveys that circulate from time to time. Other reasons exist for using open source libraries and code as middleware or support functionality for the project they're working on; most notable of arguments being that it frees them up to create and debug other code and aspects of the program that would take longer, if they had to create and debug the replaced part on their own.

On giving away the source code, it's not always true; it depends on what licensing implementation the developer has chosen to run under. Similar to the choices of available programming language, an adequate list of software licensing methods are available, and under certain conditions the developer might not be required to release all or most portions of the code. But then, releasing your source code doesn't mean that you lose control over the project whether or not it's still being developed; it does mean that, while you're developing your implementation, you're allowing others to develop their own implementation, starting with the same code base with perhaps as few or as many code changes as necessary. However, releasing code and allowing for such dispersed collaborative efforts can be advantageous — the more eyes that can see the code, the more quickly that potential bugs can be found and eliminated.

About not being able to make money off of the project, this also in many known cases is untrue. Take, for example, Sun Microsystems, the company that has developed the Java technology and the StarOffice suite. While formerly being closed source, both technologies are partially being released as open, with — as I understand it, don't sue me if I'm misunderstanding — the majority of parts being held back are encumbered by license or copyright controlled by other parties. The closed source StarOffice has released the unencumbered portions to the open source community, which became OpenOffice.org — which they still use, OpenOffice as the core plus the managed portions, as the basis of the still-potent StarOffice product.

Sun Microsystems still makes money, at least from selling still-viable StarOffice and corporate support for their software technologies, which most if not all licensing does not prohibit. And, they're not the only big business to do so, and successfully.

The conclusion.

In review, I hope you've gained perhaps a little insight into what the open source concept is, and is not, at least to my informed opinion. In places, I've had to rein in a snarky comment or something, but what you'll find is still an honest appraisal, sprinkled with a personal touch of humor and humility. And, hopefully, you aren't still clinging to a belief that commercial, closed source software is inherently better than freely-available open source software. If I missed any misconceptions or questions, feel free to drop me a message, and I'll do my best to give an honest response. Again, in the end, only you can decide if an open source solution is right for you; don't fall victim to either FUD or hype from a competitor, negative misconceptions from misinformation or uninformed opinion, et cetera. But I have a feeling you won't be caught unaware; you're reading this column . . . aren't you? :-)

Oh, drat. I only wanted to write a couple paragraphs. Darn me . . . ?!

;-b

No comments: