Subject: Re: "Well, I want to switch over to replace EMACS LISP with Guile." From: Erik Naggum <erik@naggum.no> Date: 16 Oct 2002 00:39:45 +0000 Newsgroups: comp.lang.lisp Message-ID: <3243717585684194@naggum.no> * Steven E. Harris | For me, as a programmer, education has been the most valuable facet of | open source software. Saving money on it isn't as valuable as learning | from it. I am happy to see this, and if it was not sufficiently clear from what I wrote, I favor sharing source code because I have learned this way myself and because most other industries let people share the accumulated skills of the trade. Software vendors have a potential to keep things secret that is perhaps unique, much unlike respectable trades like medicine, law, engineering, architecture, etc. It was certainly legitimate to rebel against the desire to hide everything and force everybody to start their own development efforts much "earlier" than the state of the art, but the new method of the rebels is not better than what they rebel against. | Without broad access to others' source code, I would be limited to my | textbooks, or perhaps to my peers' work at my current employer. This is where I think people go wrong. Truly vast applications and billions of lines of code has been developed at universities. Most, if not all, of this is available to practitioners in the field. The one big gripe against "university code" is that it is not itself intended to be the main winning point -- getting some degree is. This changes the value system of software development. Commercial development has another value system entirely, and free software development yet another. It is not obvious which one would succeed if industry wanted plug'n'play employees, but the commercial model did not exactly get an opportunity to show itself before it was denounced on largely misguided terms. | I agree that not all open-source code is worth learning from. Then | again, neither is all of the in-house code I have access to. Having more | examples - both positive and negative - available for study provides | vicarious experience and helps refine one's taste. But then there is the time cost of learning... | As a shining example, consider Boost. Much of my C++ knowledge is built | atop techniques and style exhibited in these libraries. I have heard much good about this, and if I had an interest in C++, I would have looked closely at it from the great reviews alone. Perhaps to the point, C++ is just the kind of language (and community) that produces heaps and heaps of incredibly rotten code in a language that is implemented and understood poorly, so I have quipped that life is too long to be good at C++ -- if you had spent all that time to become good at it, you would essentially have to work with it, too, to get back the costs, and that would just be some long, drawn-out torture. I gave up on C++ in 1994 but have good friends who tell me that I really miss out on major developments. Unlike most here, it seems, I happen to think Java is a serious improvement on what went before it and should be known, perhaps mostly for its rich community and libraries and its adaptability. The code you do not have to write should be worth a lot to you -- and if it comes in the shape of supported libraries from a good vendor, I think that is much better than relying on community-developed software of dubious quality and little commitment. On that tangent, it is probably the lack of commitment and follow-through that bothers me with the "free" software, and nobody can take it and make a serious buck on improving it to be fully polished products because they /have/ to "share" their changes. Maintenance, quality assurance, etc, are very expensive processes, but the result is indistinguishable, qua copyable files, from shoddy code. So "the boring part" of the software cycle never gets completed or even really started by unpaid people. In the much-lamentable Old Days, when fewer programmers could get at the source code, it had higher quality and was better to learn from. As more people with less commitment to quality and much less attention to detail got involved in writing it, its educational value diminished, too. It is like going to a library full of books that took 50 man-years to produce each, inventing a way to cut down the costs to a few man-months per book by copying and randomly improving on other books, and then wondering why nobody thinks your library full of these cheaper books is an inspiration to future authors. Like Microsoft was a once-in-a-civilization thing and could not be repeated by anyone now that we have seen how much damage can be done by such people, I believe Free Software is another once-in-a- civilization thing that must be declared to have won or failed, and then we move on to something better. Once a good thing, it has survived the achievement of its goals and now produces more problems than alternatives it was intended to fight. This happens to a lot of mediocre ideas. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.