Domain: gnu.org
Stories and comments across the archive that link to gnu.org.
Comments · 13,360
-
Re:Oh, the horror...Regarding use of the word "Operating System" - the Linux release available for download is in fact promoted as a Run-Time Environment.
Why, pray tell, does the title of the homepage read: "The Athena Operating System" and "Athena is Rocklyte Systems next generation, object based operating system for the consumer market." (emphasis mine)?
Regarding distribution, this is a pretty simple policy that prevents third parties from distributing the software on CDs or from web-sites without our permission.
The reason so many are upset about this is because the right to redistribute is kind of accepted as part of the basic definition of open source (or Free Software, as RMS would have it). This is made pretty clear here. Of course, you're perfectly at liberty to license your product in any way you wish. It's just that it doesn't really fit under the label of Free Software.
Although judging from some of the posted remarks, it could also be interpreted as an evil plot designed to destroy the Linux community from the inside, eating it away like a cancerous cell to ensure that Microsoft can still reign supreme - because after all, Rocklyte Systems is just another corporation out to get you all while you're tucked away in your beds.
I'm sorry you've been treated this way--there are a lot of losers hanging around this place with nothing better to do than formulate screwball conspiracy theories.
-
Speed is not Java's biggest problem
For 90% of the kinds of everyday applications, C/C++ doesn't outperform Java, or the other way around, by more than a few percent.
When it comes to heavy-duty bit manipulations, such as in cryptographics or graphical algorithms, Java doesn't do too well, but with JDK1.3 and HotSpot, I think the speed of Java is great for all other purposes.
The biggest problem IMO is the download. To make a client or standalone application, you still need the multi-megabyte JRE download. I guess it's like Netscape vs. MSIE; if you write a Windows or Linux app in C you get to use libraries that most people have already installed, just like MSIE is pre-installed.
But for servlets, Java is great since your users don't need the download. Easy to program, many libraries included and since they're standard, you don't have three third-party components using three different libraries that do about the same. You get increased security for free; no need to worry about buffer-overflow or formatting string attacks. An ASP that knows a bit about Java2 security (okay, it's too complicated for non-experts IMO) can easily put servlets from different customers in different sandboxes where they cannot interfere..
Now when gcj, japher or Kaffe and Classpath are complete, I hope all the major Linux distributions will carry a full GPL-ed Java implementation so every Linux developer can depend on Java being pre-installed.
Too bad I signed Sun's non-disclosure license for jdk1.1 a few years ago, since Classpath wants to make a clean-room implementation. :-(
EjB
-
Don't expand government, fight the DMCA!Fair use "rights" are only limitations to the legal powers granted to the record companies. They have nothing to do with what the companies can and cannot do with their own property outside the legislative sphere. The copy protection stuff is outside the law, so it is not and should not be governed by fair use laws.
It is actually legislation (DMCA) that got us into this situation. More laws would just make this situation worse. Ok, today the government would only be regulating certain hated record companies, but experience tells us that government action rarely confines itself to what we originally intended it for. Tomorrow, the power we gave to the politicians will be used for something that hurts us; just look at the DMCA and UCITA for perfect examples. The fact is that corporations have more resources and political clout with which to subvert the law than we do, so increases in government power always benefit such entities. We can clearly see this trend developing as government has become bigger and bigger in America.
We hate it when corporations corrupt the law, and rightly so, because we've seen what can happen. But why is it any more right for us to control the law? And even if it were morally right, would it do what we intend in the long run?
History tells us that the answers are "no" and "no" respectively.
You've then got the moral problem of whether you can force companies to do stuff with their property that they don't want to do. If they sponsor a record or show, then they should have property rights over what they have created, and if you don't like what they do with their rights, then tough! You'd hate it if someone told you what you could and could not do with your property, so why should we have the right to tell the record companies what they can and can't do with theirs?
Experience tells us that the record companies learn best from pain. The way to fix this is to vote with your feet. Don't buy copy protected stuff, don't buy hard drives with the copy protection code on. We shouldn't deal with this by expansions of the power of politicians, which may benefit us today but might choke us tomorrow.
If you want to effect change in government, try and get the DMCA repealed. Show the politicians that the DMCA undermines fair use rights, and that as such it is unconstitutional. Remember that fair use rights are intended to limit the power granted to copyright holders. The DMCA totally goes against that. Destroy the DMCA, and you destroy most of this mess. The record companies will then find that they cannot sustain their tactics. They've tried it before, with video and dual cassette recorders. They'll be just as unsuccessful this time, if the law doesn't help them.
We want less government in this situation, not more.
-
Re:purifyAhh, yes. purify is an amazing tool. I used it on a huge research project I was working on a few years back. It found so many obscure problems.
Unfortunately, it is completely useless now unless you're working on NT or Sun or one of the other few platforms it supports.
If you like GNU project software, there's a package called Checker which aims to do many of the things which purify does. I haven't used it much though, so I can't comment much on its usefulness.
Cryptnotic
-
Re:Lots of languages for JVMAbout the only thing missing from the list of languages that target JVM's is Perl
- and Bradley Kuhn is working on compiling Perl to the JVM, using Kawa - see the Kawa mailing list archives.
-
GNU Checker is the most sophisticated
The best memory state analyzer available for Linux is GNU Checker. Far, far more than a malloc library, GNU Checker is GCC based. Checker automatically instruments every memory access in your code when you compile your code with it. It detects bad calls to malloc/free, memory leaks, uninitialized data structures, and all sorts of other memory problems. I've used almost all the memory debugging tools and libraries on Linux at one time or another. Most of them are pretty good and each has its place. However, the Swiss Army Knife of memory debugging tools for Linux has to be GNU Checker. It is the most sophisticated of the lot, and it's the nearest to Purify in power. Unfortunately it is also one of the best kept secrets when it comes to Linux development tools.
-
Kawa Scheme ==> JVM bytecodes
I can verify that Per Bothner's Kawa does indeed compile Scheme to JVM bytecodes. There's no intermediate Java code and no need to write out a
.class file. You can even do it interactively. I know that it's working because with a JIT compiler, if I make an error in a BRL page, "compiled code" shows up in the stack trace. -
my experiences with grub
I mastered lilo early in my linux-using days. However, recently I looked at grub on my debian-unstable box and found it to be highly superior to lilo.
1) grub can look inside filesystems (much like the freebsd loader you talked about, of which I have no experience with)
2) grub gives you a command line: almost a shell, with tab-completion of filenames and devices, and a featureful list of operations you can perform, many of which I have not learned yet
3) grub has a built in menu system to boot from: it is quite easy to set up a boot menu with grub, even with colors (ooh)
4) grub, as of the last time I checked (recently), could see inside fat, ext2, and ffs. I'm sure support for more is on the way.
5) grub is an official part of the GNU Project.. now we know it can't get better than that! ;)
One of my favorite things to do with grub is make a boot disk with it (directions in the documentation) Thus you can pop a disk in and boot any OS on the computer, boot sector or no..
I wish that Debian would change to grub as the default bootloader. I haven't touched lilo since I started using grub. Mandrake installs grub by default (as of 7.0 I believe.. I only watched a friend installing it). I'm not aware of any other distro using grub.
booting linux using grub:
(at the grub command line, assuming your kernel is on /dev/hda1 in /boot/vmlinuz)
# kernel (hd0,0)/boot/vmlinuz
# boot
grub is the way to world peace. All other bootloaders are only mild attempts to be like grub! grub IS THE STANDARD BOOT LOADER! THE STANDARD! (ref. 'ed is the standard text editor') -
Re:question
Are there any truly free desktop environments? (I mean under the BSD license)
AFAIK they're all GPLed. That is, assuming you're asking for something bigger than a window manager. If you meant just a window manager, then twm is under the X license (being part of X).
Incidentally, would you count the LGPL as "truly free", whatever you mean by that phrase?
-
Re:question
Are there any truly free desktop environments? (I mean under the BSD license)
AFAIK they're all GPLed. That is, assuming you're asking for something bigger than a window manager. If you meant just a window manager, then twm is under the X license (being part of X).
Incidentally, would you count the LGPL as "truly free", whatever you mean by that phrase?
-
Why hasn't someone linked to this?
RMS talks about a number of different licenses here. He breaks up each license on a number of axis -- their compatibility with the GPL, whether or not they are copyleft (viral, in the rough vernacular we're so fond of here), and whether or not they are free.
He adds a small amount of his own editorializing; however, he limits his comments primarily to the free / not free axis of each license, the onerous and difficult clauses in other licenses, and the legal looseness of some licenses. He refrains from making any value judgement on the non-copyleft nature of the BSD-type license, so most of you can probably read the entire page without getting your underwear in a bunch.
It's fun to bash RMS, but he at least understands the issues, unlike the guy that wrote that wrote that article in webtechniques. Why did slashdot post this article in the first place? -
Okay, So Which Licence Should I Use?Suppose I want to release some source code, and I want the code to be useable by the entire free & open source community, or by the largest possible subset. Which licence should I use?
In theory, I should release my source code to the public domain. That seems to be what this article is advocating. The problem with public domain, or the X11/new BSD licence, is many SlashDotters (partisans of the "Free Software" camp) will boycott my code because it isn't GPL'ed, and therefore "doesn't protect their rights" as a consumer. I don't personally know anyone who believes this, but I have corresponded with people holding this opinion.
If, on the other hand, I GPL my code, then partisans of the BSD camp will boycott the code because it is GPLed, and therefore can't be mixed with BSD or public domain code without "contaminating" it. I know lots of people who hold this opinion. Another problem with the GPL is that it seems to be incompatible with most other Open Source licences. According to gnu.org, the GPL is incompatible with 20 of 34 free software licences . I don't want people to boycott my software for licence incompatibility reasons, I don't want the licence on my software to used as an excuse to perpetuate another KDE debacle.
It is probably impossible for me to find any way to distribute my software that won't lead to boycotts for ideological reasons. I have considered using a dual licence, BSD + GPL. Maybe that would lead to fewer boycotts, but maybe I would be boycotted by both the BSD and the GPL partisans. I'd be interested in hearing from people who boycott software for ideological reasons comment on this idea: would you boycott dual licence BSD + GPL software on the grounds of insufficient purity, or would it be okay to use it?
Ultimately, I have no control over ideological boycotts, so maybe I shouldn't worry about it. I do have control over licence incompatibility, though, so from this point of view, I should choose public domain, the new BSD licence, or a dual BSD + GPL as mentioned earlier. All of these choices would be compatible with any other open source/free software licence.
-
Multiple authors (e.g. Mozilla) are one difficulty
One problem is that many software packages have a large number of authors, and it can be hard to track them all down and coordinate legal permission for an exception. Just witness the hassles that the Mozilla project is having to go through to relicense the code under the GPL (although things like this can be done, with perseverence). (It would have been much easier if they had taken RMS's advice and made the NPL/MPL GPL-compatible to begin with.)
(This is another advantage to the FSF's policy of copyright assignment: there is only a single copyright holder to deal with in case of problems.)
-
Multiple authors (e.g. Mozilla) are one difficulty
One problem is that many software packages have a large number of authors, and it can be hard to track them all down and coordinate legal permission for an exception. Just witness the hassles that the Mozilla project is having to go through to relicense the code under the GPL (although things like this can be done, with perseverence). (It would have been much easier if they had taken RMS's advice and made the NPL/MPL GPL-compatible to begin with.)
(This is another advantage to the FSF's policy of copyright assignment: there is only a single copyright holder to deal with in case of problems.)
-
Re:Gnu's Not Free...
The GPL sets up rules from which it's impossible to escape. It does so in the name of freedom, to keep code from falling into the paws of capitalists.
Actually, the restrictions are not there to hamper capitalists. The FSF openly advocates selling software for as much money as people will pay you for it. The restrictions are there to prevent people from distributing modified code without making the modifications available. Red Hat, Mandrake, Caldera, etc. would vigorously argue with your assertion that the GPL prevents capitalists from making money from software!
This restraint is in the name of freedom. How can a restraint be in the name of freedom? By enabling a bigger freedom. How, though, does the GPL make anything more free than public domain?
By ensuring that changes remain public. Code that is put in the public domain or BSD licenced can be absorbed into non-free projects without making any changes publically available, and frequently has been. The GPL essentially says that the right to see and further modify code is more important than the right to keep modifications private. (Note, though, that the GPL does allow private modifications so long as they are private; it only prevents distribution of modified binaries without the modified sources.) IMHO, that's a reasonable assertion, especially considering the way that those who aren't interested in sharing have taken advantage of those who are in the past. This is a legitimate point of contention, but I think that experience is on the side of the GPL.
-
How to copyleft a program
Is tacking a Copyleft (GPL) in the header of your code a real way to protect it? Shouldn't it actually be copyrighted and released under the GPL, et al?
Correct. Code licensde under the GNU General Public License contains a comment at the top containing a copyright notice, a permission statement that places the program under GPL, a warranty disclaimer, and where to find a copy of the License. A shorter notice is commonly used in interactive programs' about boxes and in the "verbose" mode of command-line programs. For more information, read the end of the GNU GPL to see how to apply the License to your own code.
Tetris on drugs, NES music, and GNOME vs. KDE Bingo. -
Re:Why not Open Source AmigaOS?
This mantra is really beginning to get on my nerves. The in-house software written by the majority of "software developers" is usually boring crap (database front ends et al.). The coolest jobs are ususally in the consumer market writing fun stuff such as OSes and web browsers. If companies like Opera, Be Inc or Amiga go out of business the only jobs left will be in doing frigging servlets for some deluded moron who's trying to cash in on the "New Economy". Then we'll be able to go home and with whatever little time we've left after 14hr shifts we'll have the dubious pleasure of coding unusable apps for a mediocre unix clone which has nothing going for it apart from being politically correct in the eyes of a handful of commie zealots. Get lost.
-
Stay with C++, use DDD to tame gdb
As many other posters have said wisely, switching tools midstream is a sure route to pain. Trust me, once you've made core tech decisions, stick with them! At least until you get version 1.0 out the door...
I too don't like using gdb on the command line, but combined with DDD, the Data Display Debugger (works natively on pretty much any Unix, linux strain, I've seen ports to win32, etc) debugging is a much nicer experience. I don't write multitrheaded stuff being a pretty neophyte C++ programmer (eh, we all have to start somewhere
:-) ), but I did notice in the online manual that it does have at least rudimentary support for threads.Plus it's free and doesn't require any changes to your environoment or toolchain. (Basically just install it, it defaults to using gdb as the "inferior" debugger (as opposed to dbx or any of the perl/python/java/whatever debuggers), and you type "ddd progname" instead of "gdb progname". It even has a command window to interact with gdb directly if you so wish...) Last but not least it has a cute logo.
;-)
--
-
Re:Gnu Visual Debugger
Or you could try ddd
If you need a visual dbugger. It acts like gdb, which I already love, but adds a visual edge that gdb alone doesn't have. When I am really stumped with gdb, I go to ddd. -
Re:Huh?
I'm sorry to ask it, but who are "we"?
The Free Software Foundation, authors of the GPL.
The GPL is a bit too restrictive for my tastes.
Then don't apply it to your software. Or modify it to suit your tastes. Although a modified version may not be free, or may be incompatible with the GPL. This would mean that you couldn't use GPL'd code in your program ,and others couldn't use your code in their GPL'd programs, unless you were willing to license your code under the GPL.
Upon a second reading of the LGPL, it may be a violation of the LGPL to release non-libraries under that license.
Nonsense. You can apply any license to any work you like. I could write a book and GPL it if I wanted, even though it doesn't make much sense. The GPL defines "Program" as "any program or other work"; the LGPL defines "Library" as "any such software library or work". The "work" can be anything you have copyright of.
But wait! You're in violation of your license! Wha...? You heard me. The mythical Free Paper License requires all referenced content to be available under the conditions of either the FPL or the LFPL.
You can't be in violation of your own copyright license. You can't sue yourself for copyright infringement. The GPL doesn't require that all copies have certain properties, it requires that all people who have obtained the software under the GPL obey certain restrictions. You have not obtained the software under the GPL. In any case, since you're the copyright holder, you could always grant yourself a specific exception. :) -
My favorites
Given that you're posting around here, I'm guessing you have a Linux box handy. Here are some of my favorite sysadmin tools:
- dig - This is a more advanced tool for seeing what's going on with DNS.
- nmap - A great tool for probing your server to make sure you haven't left anything open.
- Apache Bench (ab) - This simple but effective benchmarking tool comes with the Apache server. It's great to see how your site will perform under load.
- wget - a tool for remotely getting web pages; it's very versatile -- you can even use to save a copy of your whole site, just in case.
- Ethereal - Having trouble figuring out what's going on between the browser and your server? This will capture all the packets and decode them into a nice conversation for you.
- vmstat - want to know why your server is slow? Get used to watching the vmstat numbers while it's fast, so you can see what's different when it's slow. It's raw numbers that are hard to interpret, but it's worth getting to know. Maybe this should be another Ask Slashdot question?
- Netsaint - this is my favorite automatic monitoring package. Once your site is in production, you can set this up to patrol things and make sure everything is working. That lets you get on with other stuff, knowing you'll hear about trouble pronto.
- MRTG - A tool that makes excellent long-term graphs of bandwidth use.
- IPtraf - Where MRTG gives you the broad overview, this gives you the second-by-second nitty gritty.
- perl - Last but most is Perl, a Swiss Army chainsaw of languages. If you'll be doing any web stuff, pick up a copy of Learning Perl and spend a little time with it. Once you learn the magic of regular expressions, you will never again say "that's impossible!" to a problem.
As far as non-sysadmin stuff goes, here are some of my other favorites:
- Bugzilla - this is a free and flexible bug tracking system. Highly recommended, especially for those people who don't think they need a bug tracking system. Our designers thought it was silly to start, but even they use it all the time now.
- CVS - Like bug tracking, most web sites don't think they need version control. Most web sites are wrong! CVSweb is also recommended.
- HTML Tidy - bad HTML in, good HTML out.
- WebTV Simulator - Sure, you and I don't use WebTVs, but a lot of people do. Browse your site with this to see how the other half surfs.
- VMWare - Along similar lines, VMWare is a Windows box emulator. I use it to keep a bunch of synthetic windows machines with a variety of OS versions and browser versions. It makes QA much easier.
And if there are particular tasks that have you stumped, come back and ask again. 'Round these parts, we have big toolboxes.
-
Re:Pascal and the short sighted [Sather info]Sather is an OO language which incorporates some of the best parts of C++, Eiffel, and Ada. It looks something like C++. It's not some weird toy academic language.
From the FAQ
Sather is an object oriented language designed to be simple, efficient, safe, flexible and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be:
A "Hello World" program looks something like this:- As efficient as C, C++, or Fortran
- As elegant as and safer than Eiffel
- Support higher-order functions and iteration abstraction similar to Common Lisp, Scheme, CLU, or Smalltalk.
Sather has garbage collection, statically-checked strong typing, multiple inheritance, separate implementation and type inheritance, parameterized classes, dynamic dispatch, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather code can be compiled into C code and can efficiently link with C object files. The upcoming version of Sather will have full internationalization support.
class MAIN is
Sather links:
main is
#OUT + "Hello World!\n";
end; -- method main
end; -- class MAIN
-
Re:Pascal and the short sighted [Sather info]Sather is an OO language which incorporates some of the best parts of C++, Eiffel, and Ada. It looks something like C++. It's not some weird toy academic language.
From the FAQ
Sather is an object oriented language designed to be simple, efficient, safe, flexible and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be:
A "Hello World" program looks something like this:- As efficient as C, C++, or Fortran
- As elegant as and safer than Eiffel
- Support higher-order functions and iteration abstraction similar to Common Lisp, Scheme, CLU, or Smalltalk.
Sather has garbage collection, statically-checked strong typing, multiple inheritance, separate implementation and type inheritance, parameterized classes, dynamic dispatch, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather code can be compiled into C code and can efficiently link with C object files. The upcoming version of Sather will have full internationalization support.
class MAIN is
Sather links:
main is
#OUT + "Hello World!\n";
end; -- method main
end; -- class MAIN
-
Re:Pascal and the short sighted [Sather info]Sather is an OO language which incorporates some of the best parts of C++, Eiffel, and Ada. It looks something like C++. It's not some weird toy academic language.
From the FAQ
Sather is an object oriented language designed to be simple, efficient, safe, flexible and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be:
A "Hello World" program looks something like this:- As efficient as C, C++, or Fortran
- As elegant as and safer than Eiffel
- Support higher-order functions and iteration abstraction similar to Common Lisp, Scheme, CLU, or Smalltalk.
Sather has garbage collection, statically-checked strong typing, multiple inheritance, separate implementation and type inheritance, parameterized classes, dynamic dispatch, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather code can be compiled into C code and can efficiently link with C object files. The upcoming version of Sather will have full internationalization support.
class MAIN is
Sather links:
main is
#OUT + "Hello World!\n";
end; -- method main
end; -- class MAIN
-
Whatever READ ALOUD means, it is still bad.
Sure, you may be allowed to read the book aloud. however isnt' the not being able to give or lend the book to someone else exactly the backbone of the grim future future outlined in RMS's Right To Read Even with the read aloud permission being debunked. I think the other permissions are scary enough.
-
Re:RMS - Oops forgot the link
Hmmm, I thought I had all my tags right, guess not, though - the article can be found here.
-
Re:This text can not be read aloudSorry... there was supposed to be a link to Right to Read by rms.
but i think mozilla did some funky stuff with the submitted field...
oh well... there it is...
tagline -
Kernel
-
Re: Yeah, why is the Linux kernel compressed?
It would be More work and much slower to have two parts of the kernel, one a kerel to boot and be small, Yet still know how to read a disk, operate on all known disk io cards, be able to talk to all types of harddrives, and speak a few filesystem formats, just so that it can read a silly 1mb kernel off of the disk someplace whos job its suppost to be to do all of that anyway.
That's what grub does, it knows filesystems (including reisersfs), will read off partitions > 8M and supports network booting. And it's not slow at all. -
Re:I know I'll be modded down, but bear with me he
once you start copying the stupid bread, you've taken away the shopkeeper's ability to profit
So, you would reject a solution to world hunger, just because it would reduce ability for shopkeepers to make massive profits? This is ridiculous. If this is the way most of the world thinks, I want out. You must have been sent mad with greed if this is the way you think, you obviously don't put things in perspective. Let me propose a question - which is a more evil thing: a few grocery stores going out of business, or rejecting a solution to world hunger because it would 'cut into profits'. I am sickened by the extent to which society has become obsessed with obtaining money, no matter what has to be sacrificed to achieve these ends. People should think of the greater good, and work towards that, rather than selfishly striving to better their own conitions, no matter who they have to exploit to achieve it.
why in the fucking world should i spend three years writing an app just so some lazy jerkoff can say "but, DOOd, i'm poor and underprivileged, but i really have to have the latest version of your program.
That is exactly what the members of the Free Software comunity do. If you read the GNU Manifesto, that is exactly what the aim of the community is. The Free Software community do not look for profits, the reward we get from writing software is the knowledge that we are making the world a better place. Many people, such as Richard Stallman, have devoted their life to this cause. There is more to life than collecting large amounts of green paper.
We have the ability to easily provide everybody on Earth (that has a computer) with every piece of software ever written. Don't you see this as a wonderful thing? Copyright laws were written with hard-goods in mind, not easily-reproducible intellectual property - the extension of these laws to IP was seen as natural, but is it?
You state that IP laws restrict the distribution of software, so we shouldn't distribute it. But are these laws rational? I don't think so. They extend the right to restrict distribution of goods that was imposed on solid hard-goods to IP, as if it was a natural thing to do, but there are a growing number of people who see the flaw in this logic. You can see many essays on this subject at www.gnu.org. What we must consider is whether existing property rights should apply to IP, or whether we need an entirely new set of laws. Personally, I think that IP laws are wrong, and that is why I cannot condemn software 'piracy'. Libraries were established so everybody has the right to read, but is the right to use software any less of a right?
-
I agree, and so does rms
This is something everyone should read.
-
Re:why not?Yes, but Linux wasn't intended to be a microkernel, or even a production-quality OS, or really as anything more than Linus and his buddies to hack on. It serves its purpose well. Linux is my favorite OS to play with, because it's so mix-and-match and it seems to get drivers for new toys the quickest (except for USB...bah).
However, what makes Linux so great for this also makes it worse for other applications. FreeBSD, for example, is IMHO much better at being a server due to various technical features of its implementation, as well as the general feel of the OS. It's also probably better for non-hacker users who don't want to go pick out the best fingerd and ftp and whatnot for themselves.
I don't understand why people don't appreciate heterogenity. We had a DB guy at work complaining that Linux was "broken" because he was used to Solaris's memory allocation, and he thought that was the One True Way. Yes, Linux's memory allocation can cause kernel panics and OOM errors in a few extreme cases, but the vast majority of time it's more efficient.
If you don't like the way a system works and the situation isn't conducive to patches, fork it or choose another system. If you're looking for a microkernel, the Hurd would probably be a better choice than Linux. And it'll be available for production use RSN!
The beauty of an open environment is that you can choose the system that best fits your needs, rather than being locked into one system.
--
-
Re:Excellent.Except that DOS provided a very minimal set of services. It was actually quite nice, because with the appropriate software (DOS extenders, anyone?) you could get the OS to load files and then get out of your way. Very little overhead, very little that you had to worry about walking over.
In this case, things are getting built into the kernel. Of course, DOS has no concept of userland/kernel space, but I'm sure there's a difference in principle somewhere.
:-) In a protected-mode operating system, though, there are differences. The kernel runs in ring 0 (user programs are in ring 3 on Intel and ring 1 pretty much everywhere else), and so anything in kernel space can break everything. This is why NT has so many problems -- random third party binary drivers in ring 0.I'm really quite eager for the Hurd. It will allow different portions of software to access certain pieces of hardware or software with kernel priveleges, without compromising the entire system.
And yes, I know you were joking and going for a first post, but I love talking about systems in the more abstract sense...
--
-
This is why it's important to choose GPLThis is why it's important to choose the GNU General Public License over all other licenses when you write software that is meant to be free.
You should only choose another license if you specifically intend to allow anyone to make closed-source, commercial use of your code.
That's why it's pointed out in an earlier comment that Microsoft wouldn't base an offerring on Linux, but on BSD - as Apple is doing, with Mac OS X.
The Free Software Foundation recommends against the general use of the LGPL - formerly called the GNU Library Public License but now called the lesser public license.
Generally, you'd only want to use the LGPL if there is already an existing high-quality library that is available in closed-source form and you want yours to be adopted by people who want to keep the source to their applications closed. This was done, for example, with glibc, to make a replacement for the proprietary libc popular.
But if you're writing a totally new library, or if you feel that your library is a significant improvement on an existing closed-source library, using the GPL rather than the LGPL will draw new free software into the world, and although it won't prevent people from selling your work, it will prevent them from holding the source closed.
Licenses that would be inappropriate for competing with Microsoft would be the BSD License or the MIT License, the Apache License or the Mozilla Public License.
That's why, despite Mozilla, we still need a good browser that is GPL'ed.
For lists of a lot of licenses, see the opensource.org approved licenses and GPL Compatible Licenses - these last basically can be combined in software with GPL'ed code. Also note License that are incompatible with the GPL.
Upon further examination, I see that if you are not going to use the GPL, you should at least use a license that would allow your code to be used in the same project with GPL'ed code. This is the case with the revised BSD license (without the advertising class) and the MIT license but not the Mozilla license, or, significantly, the Python license - in some cases the incompatibility is not caused by restrictions by what you can do with the code but in the case of Python it's because the licensed is governed by the laws of the state of Virginia in the U.S.A.
Sometimes people do specifically choose to use things like the MIT License because they intend for it to be used for commercial use. My friend Andy Green who wrote the ZooLib cross-platform application framework is an independent consultant, and he had it in mind to make things easier for other consultants and small commercial developers, as well as free software developers. It was a complex decision but they people with an interest in the code ultimately agreed on the MIT license.
On the one hand, this allows people like Microsoft to write cross-platform closed-source products that would compete with free software - so MS could port their products to ZooLib and have source compatibility with Linux, Windows and Mac (and BeOS too), and this source would be closed, which could be a problem.
On the other hand, the ready availability of an open source but commercially-compatible crossplatform library gives power to the third-party developer at the expense of all OS vendors whether closed or open source, which I feel is arguably a good thing.
So it is a complex decision, really. But I think that, when in doubt, use the GPL. If you hold the copyright yourself, you can always supply a separately licensed version to people who pay you for it. For example, while the CygWin library (a POSIX API for Windows, part of a GNU programming environment that is largely source-code compatible with Linux) is under the GPL, you can purchase a proprietary license for it from Redhat which is actually pretty expensive from the terms they used to have on their page.
Michael D. Crawford
GoingWare Inc -
This is why it's important to choose GPLThis is why it's important to choose the GNU General Public License over all other licenses when you write software that is meant to be free.
You should only choose another license if you specifically intend to allow anyone to make closed-source, commercial use of your code.
That's why it's pointed out in an earlier comment that Microsoft wouldn't base an offerring on Linux, but on BSD - as Apple is doing, with Mac OS X.
The Free Software Foundation recommends against the general use of the LGPL - formerly called the GNU Library Public License but now called the lesser public license.
Generally, you'd only want to use the LGPL if there is already an existing high-quality library that is available in closed-source form and you want yours to be adopted by people who want to keep the source to their applications closed. This was done, for example, with glibc, to make a replacement for the proprietary libc popular.
But if you're writing a totally new library, or if you feel that your library is a significant improvement on an existing closed-source library, using the GPL rather than the LGPL will draw new free software into the world, and although it won't prevent people from selling your work, it will prevent them from holding the source closed.
Licenses that would be inappropriate for competing with Microsoft would be the BSD License or the MIT License, the Apache License or the Mozilla Public License.
That's why, despite Mozilla, we still need a good browser that is GPL'ed.
For lists of a lot of licenses, see the opensource.org approved licenses and GPL Compatible Licenses - these last basically can be combined in software with GPL'ed code. Also note License that are incompatible with the GPL.
Upon further examination, I see that if you are not going to use the GPL, you should at least use a license that would allow your code to be used in the same project with GPL'ed code. This is the case with the revised BSD license (without the advertising class) and the MIT license but not the Mozilla license, or, significantly, the Python license - in some cases the incompatibility is not caused by restrictions by what you can do with the code but in the case of Python it's because the licensed is governed by the laws of the state of Virginia in the U.S.A.
Sometimes people do specifically choose to use things like the MIT License because they intend for it to be used for commercial use. My friend Andy Green who wrote the ZooLib cross-platform application framework is an independent consultant, and he had it in mind to make things easier for other consultants and small commercial developers, as well as free software developers. It was a complex decision but they people with an interest in the code ultimately agreed on the MIT license.
On the one hand, this allows people like Microsoft to write cross-platform closed-source products that would compete with free software - so MS could port their products to ZooLib and have source compatibility with Linux, Windows and Mac (and BeOS too), and this source would be closed, which could be a problem.
On the other hand, the ready availability of an open source but commercially-compatible crossplatform library gives power to the third-party developer at the expense of all OS vendors whether closed or open source, which I feel is arguably a good thing.
So it is a complex decision, really. But I think that, when in doubt, use the GPL. If you hold the copyright yourself, you can always supply a separately licensed version to people who pay you for it. For example, while the CygWin library (a POSIX API for Windows, part of a GNU programming environment that is largely source-code compatible with Linux) is under the GPL, you can purchase a proprietary license for it from Redhat which is actually pretty expensive from the terms they used to have on their page.
Michael D. Crawford
GoingWare Inc -
This is why it's important to choose GPLThis is why it's important to choose the GNU General Public License over all other licenses when you write software that is meant to be free.
You should only choose another license if you specifically intend to allow anyone to make closed-source, commercial use of your code.
That's why it's pointed out in an earlier comment that Microsoft wouldn't base an offerring on Linux, but on BSD - as Apple is doing, with Mac OS X.
The Free Software Foundation recommends against the general use of the LGPL - formerly called the GNU Library Public License but now called the lesser public license.
Generally, you'd only want to use the LGPL if there is already an existing high-quality library that is available in closed-source form and you want yours to be adopted by people who want to keep the source to their applications closed. This was done, for example, with glibc, to make a replacement for the proprietary libc popular.
But if you're writing a totally new library, or if you feel that your library is a significant improvement on an existing closed-source library, using the GPL rather than the LGPL will draw new free software into the world, and although it won't prevent people from selling your work, it will prevent them from holding the source closed.
Licenses that would be inappropriate for competing with Microsoft would be the BSD License or the MIT License, the Apache License or the Mozilla Public License.
That's why, despite Mozilla, we still need a good browser that is GPL'ed.
For lists of a lot of licenses, see the opensource.org approved licenses and GPL Compatible Licenses - these last basically can be combined in software with GPL'ed code. Also note License that are incompatible with the GPL.
Upon further examination, I see that if you are not going to use the GPL, you should at least use a license that would allow your code to be used in the same project with GPL'ed code. This is the case with the revised BSD license (without the advertising class) and the MIT license but not the Mozilla license, or, significantly, the Python license - in some cases the incompatibility is not caused by restrictions by what you can do with the code but in the case of Python it's because the licensed is governed by the laws of the state of Virginia in the U.S.A.
Sometimes people do specifically choose to use things like the MIT License because they intend for it to be used for commercial use. My friend Andy Green who wrote the ZooLib cross-platform application framework is an independent consultant, and he had it in mind to make things easier for other consultants and small commercial developers, as well as free software developers. It was a complex decision but they people with an interest in the code ultimately agreed on the MIT license.
On the one hand, this allows people like Microsoft to write cross-platform closed-source products that would compete with free software - so MS could port their products to ZooLib and have source compatibility with Linux, Windows and Mac (and BeOS too), and this source would be closed, which could be a problem.
On the other hand, the ready availability of an open source but commercially-compatible crossplatform library gives power to the third-party developer at the expense of all OS vendors whether closed or open source, which I feel is arguably a good thing.
So it is a complex decision, really. But I think that, when in doubt, use the GPL. If you hold the copyright yourself, you can always supply a separately licensed version to people who pay you for it. For example, while the CygWin library (a POSIX API for Windows, part of a GNU programming environment that is largely source-code compatible with Linux) is under the GPL, you can purchase a proprietary license for it from Redhat which is actually pretty expensive from the terms they used to have on their page.
Michael D. Crawford
GoingWare Inc -
This is why it's important to choose GPLThis is why it's important to choose the GNU General Public License over all other licenses when you write software that is meant to be free.
You should only choose another license if you specifically intend to allow anyone to make closed-source, commercial use of your code.
That's why it's pointed out in an earlier comment that Microsoft wouldn't base an offerring on Linux, but on BSD - as Apple is doing, with Mac OS X.
The Free Software Foundation recommends against the general use of the LGPL - formerly called the GNU Library Public License but now called the lesser public license.
Generally, you'd only want to use the LGPL if there is already an existing high-quality library that is available in closed-source form and you want yours to be adopted by people who want to keep the source to their applications closed. This was done, for example, with glibc, to make a replacement for the proprietary libc popular.
But if you're writing a totally new library, or if you feel that your library is a significant improvement on an existing closed-source library, using the GPL rather than the LGPL will draw new free software into the world, and although it won't prevent people from selling your work, it will prevent them from holding the source closed.
Licenses that would be inappropriate for competing with Microsoft would be the BSD License or the MIT License, the Apache License or the Mozilla Public License.
That's why, despite Mozilla, we still need a good browser that is GPL'ed.
For lists of a lot of licenses, see the opensource.org approved licenses and GPL Compatible Licenses - these last basically can be combined in software with GPL'ed code. Also note License that are incompatible with the GPL.
Upon further examination, I see that if you are not going to use the GPL, you should at least use a license that would allow your code to be used in the same project with GPL'ed code. This is the case with the revised BSD license (without the advertising class) and the MIT license but not the Mozilla license, or, significantly, the Python license - in some cases the incompatibility is not caused by restrictions by what you can do with the code but in the case of Python it's because the licensed is governed by the laws of the state of Virginia in the U.S.A.
Sometimes people do specifically choose to use things like the MIT License because they intend for it to be used for commercial use. My friend Andy Green who wrote the ZooLib cross-platform application framework is an independent consultant, and he had it in mind to make things easier for other consultants and small commercial developers, as well as free software developers. It was a complex decision but they people with an interest in the code ultimately agreed on the MIT license.
On the one hand, this allows people like Microsoft to write cross-platform closed-source products that would compete with free software - so MS could port their products to ZooLib and have source compatibility with Linux, Windows and Mac (and BeOS too), and this source would be closed, which could be a problem.
On the other hand, the ready availability of an open source but commercially-compatible crossplatform library gives power to the third-party developer at the expense of all OS vendors whether closed or open source, which I feel is arguably a good thing.
So it is a complex decision, really. But I think that, when in doubt, use the GPL. If you hold the copyright yourself, you can always supply a separately licensed version to people who pay you for it. For example, while the CygWin library (a POSIX API for Windows, part of a GNU programming environment that is largely source-code compatible with Linux) is under the GPL, you can purchase a proprietary license for it from Redhat which is actually pretty expensive from the terms they used to have on their page.
Michael D. Crawford
GoingWare Inc -
free software trickles upIf you're a 'Linux is great because it's "open source"' type of guy (and most of you are) and you don't have a problem with using a closed, proprietary browser like opera - then you don't really value your "open source" ideals.
The GNU project was originally about providing a free operating system, the basic software needed to use a computer. RMS wrote in the GNU Manifesto:
GNU will remove operating system software from the realm of competition. You will not be able to get an edge in this area, but neither will your competitors be able to get an edge over you. You and they will compete in other areas, while benefiting mutually in this one.
Linux is still competing with Windows for the desktop and the 31 flavors of proprietary Unix for the server. The availability of certain proprietary apps. (Microsoft Office, FrameMaker, Diablo II) on Windows represents a competitive advantage. We can nullify that advantage by convincing the manufacturer to port it or by providing a similar app. (free or proprietary). In the long run, free software will compete at an equal level with Office and FrameMaker, although I'm not convinced about Diablo II.That said, I think free software is on its way to having the browser covered, so the availability of Opera on Linux doesn't add much to the platform.
-
Battery life and the Hurd?Personally, if and/or when I get rid of my Visor (for the uninformed: PalmOS) for any given "something else", it had better be able to keep up with the thing's battery life, on mundane (read: AA, AAA) batteries. If there's one thing that I can't keep up with, it's remembering to drop the damn PDA in a cradle for it to recharge; I keep it in my purse so I won't forget it.
Windows CE/Windows Powered/Pocket PC/etc. is therefore out of the question, as are most Linux-based PDA setups...
What I'd love to see someday would be what folks could do with the Hurd in this area. I wonder if Mach can handle a PDA-type system...
--Jo Hunter
-
Poorly written article.I always thought that DDJ was a more high-tech publication, but this article appears to be written for a lowest-common denominator audience.
Linux kernel development is dominated by a hacker ethos, in which external documentation is held in contempt, and even code comments are viewed with suspicion. In such an environment, quick code modification is the top priority...
I know that the linux kernel is not documented as well as it should be, but for starters, there is a Documentation directory right there in the source code! I know I've seen some HOWTO's about writing device drivers. And looking at various files, I see plenty of comments.So, let's take a look at Hurd and see how it compares. Looking at a few files, I see some comments, but not nearly as many as in the Linux source code tree. And do you see any documentation, other than TODO and CHANGES? I think Linux wins the documentation battle hands-down.
Full multithreading has only been possible in Linux since the fairly recent widespread use of the glibc C library, while multiprocessing is an ongoing effort that is not yet complete.
Ummm... Ok.... I think this person was confusing multiprocessing with Multiple Processors. And this is a guy who writes software for medical devices. Sheesh.Oh well. I guess it's still nice that The Hurd is getting some publicity.
-
Re:I don't see it7) I _believe_ (please correct me if I'm wrong) that the HURD is being developed using CVS.
Yup. It's using CVS. I couldn't tell you where, though. For that, start hunting at the GNU Hurd page. You may also want to visit the real Debian/Hurd home page.
-
Re:Would I walk a mile for a camel?
well, you already have notepad.
Or, you could use Emacs - which is also available for Windows.
Steve
--- -
Re:Java.isAHoax( )
I think the biggest feature that's missing is sensible and logical language design. Two languages that take java to the cleaners in this respect are Sather and Beta. I'll bet the person who hatched java has never even heard of those -- although they've both been around a lot longer than the Sun changeling.
I guess I'm lucky. I get to choose what language I use. -
Conversion
A program that converts between the rpm, dpkg, stampede slp, and slackware tgz file formats with ease is the little-hyped Alien . Apt is swish - especially now when it understands a major file format like rpm - but it would be the cats ass if it had the package conversion capabilities of Alien. Apt should also imitate package management routines like Encap and GNU STOW, pm's that essentially isolate packages, installing programs in their own directories and ensuring cleaner and easier removal. With those killer features, Apt would indeed be the Linux standard, regardless of the distribution your using.
Escape from DLL Hell!: The ultimate Package Manager Howto -
Re:Be careful with RMS quotes...
The BSD license without the advertising clause qualifies as non-copyleft free software, according to this page here. I'm not entirely sure if BSD-with-advertising-clause qualifies too. Anyhow, in this document the fsf states that the XFree86 license is the preferred non-copyleft free license out there.
-
Re:I can't stand Java, but maybe that's just me...
Actually, that's not inefficiency at all, which is my point.
That's one thing they can't implement properly in Kawa *because* of Java.
That's what that section on 'full-tail-calls' means; they don't have a 'goto' in Java; therefore, however they had to do it, it's slower, and not up to spec. (like a giant switch statement, say; that would be pretty bad...)
---
pb Reply or e-mail; don't vaguely moderate. -
Re:I can't stand Java, but maybe that's just me...
The 1% they don't do includes unconditional branches to an arbitrary point within the class (or package, or...) I'm quite happy to give that up [read: prevent its abuse by the clueless] for the freedom from debugging such code (as well as the inefficiency it brings to the target code).
continuing on with Scheme, just try to implement it in Java/Java bytecode...I'm curious as to what you'd come up with
Probably nothing as good as Kawa... -
Even the FSF likes Java
I don't quite understand why the article claims that Java isn't liked in 'the community' because it's not 'free' - the Free Software Foundation itself realises that there are free implementations of Java, and that the language itself is very practical -- why not look at their GNU and Java page and their Free Java software page.
-
Even the FSF likes Java
I don't quite understand why the article claims that Java isn't liked in 'the community' because it's not 'free' - the Free Software Foundation itself realises that there are free implementations of Java, and that the language itself is very practical -- why not look at their GNU and Java page and their Free Java software page.
-
Apache/Jserv/Postgres yes; Java language no
The Java language is more cumbersome than necessary for the type of programming usually involved in web apps. Luckily, you don't have to use the Java language to use the JRE and Java objects, thanks to GNU Kawa.
My maze generator on brlewis.com would have been a Project with Java/JSP, but was a quick hack with Kawa/BRL.