Linus on Subversion, GPL3, Microsoft and More
victor77 writes "Linus has repeatedly slammed Subversion and CVS, questioning their basic architecture. Subversion community has responded...how valid is Linus's statement?" This and many other subjects are covered in this interview with Linus.
Look at the script... lefthome.asp! Thats what i would do if I had my site running on Microshit stuff.
LOAD "SIG",8,1
Sunday, August 19, 2007: Did Microsoft's Men In Black ever met Linus Torvalds? But why is he so critical of GPLv3? Why does he slam Subversion? What would happen to the kernel development if he chooses to do something else more important? These are some of the questions Linux/open source community from around the globe wanted to ask Linus. And, here is Linus candid and blunt, and at times diplomatic. Check if the question you wanted to ask to the father of Linux is here and what does he have to say...
Q: What are the future enhancements/paths/plans for the Linux kernel? --Subramani R
Linus: I've never been much of a visionary -- instead of looking at huge plans for the future, I tend to have a rather short timeframe of 'issues in the next few months'. I'm a big believer in that the 'details' matter, and if you take care of the details, the big issues will end up sorting themselves out on their own.
So I really don't have any great vision for what the kernel will look like in five years -- just a very general plan to make sure that we keep our eye on the ball. In fact, when it comes to me personally, one of the things I worry about the most isn't even the technical issues, but making sure that the 'process' works, and that people can work well with each other.
Q: How do you see the relationship of Linux and Solaris evolving in the future? How will it benefit the users?
Linus: I don't actually see a whole lot of overlap, except that I think Solaris will start using more of the Linux user space tools (which I obviously don't personally have a lot to do with -- I really only do the kernel). The Linux desktop is just so much better than what traditional Solaris has, and I expect Solaris to move more and more towards a more Linux-like model there.
On the pure kernel side, the licensing differences mean that there's not much cooperation, but it will be very interesting to see if that will change. Sun has been making noises about licensing Solaris under the GPL (either v2 or v3), and if the licence differences go away, that could result in some interesting technology. But I'm taking a wait-and-see attitude to that.
Q: Now that the GPLv3 has been finalised and released, do you foresee any circumstance that would encourage you to begin moving the kernel to it? Or, from your perspective, is it so bad that you would never consider it? -- Peter Smith / Naveen Mudunuru.
Linus: I think it is much improved over the early drafts, and I don't think it's a horrible licence. I just don't think it's the same kind of 'great' licence that the GPLv2 is.
So in the absence of the GPLv2, I could see myself using the GPLv3. But since I have a better choice, why should I?
That said, I try to always be pragmatic, and the fact that I think the GPLv3 is not as good a licence as the GPLv2 is not a 'black and white' question. It's a balancing act. And if there are other advantages to the GPLv3, maybe those other advantages would be big enough to tilt the balance in favour of the GPLv3.
Quite frankly, I don't really see any, but if Solaris really is to be released under the GPLv3, maybe the advantage of avoiding unnecessary non-compatible licence issues could be enough of an advantage that it might be worth trying to re-license the Linux kernel under the GPLv3 too.
Don't get me wrong -- I think it's unlikely. But I do want to make it clear that I'm not a licence bigot, per se. I think the GPLv2 is clearly the better licence, but licences aren't everything.
After all, I use a lot of programs that are under other licences. I might not put a project I start myself under the BSD (or the X11-MIT) licence, but I think it's a great licence, and for other projects it may well be the right one.
Q: Currently are there any Indians who you'd like to highlight as key contributors to the Linux kernel?
Linus: I have to admit that I don't directly work with anybody that I actually realize as being from India. That said, I should clarify a bit: I've very consciously tried
This one is not (yet) slashdotted:
http://www.efytimes.com/archive/144/news.htm
--- These are not words: wierd, genious, rediculous
[Microsoft][ODBC SQL Server Driver][SQL Server]Transaction (Process ID 666) was summoned by an evil deadlocked process in order to lock up and throw away the key to any IT resources process to request any reasonable requirement for open source software chosen by the deadlock victim. Rerun the transaction with Microsoft products next time and this threat will disappear into thin air - Steve Balmer, Head Deadlocker.
This article is only slightly about Subversion. A couple paragraphs from the whole thing! They talk about "the plan" for the Kernel, outsourcing to India (they talk a lot about India actually), and other crap. I got bored half way through and just searched for the subversion part, which even then wasn't that interesting.
Find Nearby Indie Events
He did slam CVS indeed, SVN likewise. In Linux talk at Google about Git[video] he mentions SVN and their credo at on time being something along the line of "CVS done right", commenting that "there is no way to do CVS right."
The article linked here is light on details concerning SCM, though.
Indeed!
And here is the reaction from the subversion team. For those of you who don't want to RTFA, they basically say they agree, its not appropriate for something like Linux.
BTW, isn't this all old news? His original comment on subversion was dated from 05
Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
I've never used git on any project big enough to have multiple developers, but I use git for my one-man-projects for the simple fact that it's so easy to create a repository.
Simply move the directory you're working in and type 'git init' and you're off and running. If you're developing the same code on multiple machines, it's simple to develop on them independently and still sync relevant changes. Frustrating.
With SVN, you have to set up a central repository (not difficult, but tedious) and if you're working with the code on multiple machines that aren't always on the same network you either have to have a SVN repository on each one and manage syncing them somehow, or one machine can't make commits when the other isn't on the network. Frustrating.
I still find git to be a little confusing (especially in regards to warnings seen when pushing or pulling changes from one repository to another and merging branches), but I've decided that even if git isn't the best answer, a distributed version control system is closer to the Right Thing than the old way of doing it (for my purposes, at least).
*sigh* back to work...
and if you're a programmer or an admin that knows sql server, then you know to disable this before you go into production. again, this is not a problem with the product. saying such would be like saying solaris is trash because it enables everything plus the kitchen sink, unless you tell it not to...
oracle is all great and fun if you have the money to cough up for it. sql server has great performance at a fraction of oracle's cost. of course, a competent architect will know when to use sql server and when to use oracle.
Yes this is extremely old news. I thought it would be something new, but then I see the comment from the SVN guys is dated 2006: last year for people who keep track of time.
.svn metadata folder in each normal directory; hence if you have 1000 normal directories you get 2000 directories.
For instance, the comment from the Subversion team states that they hope the kernel dev team find some VCS that they like. They already did and it was git (http://git.or.cz/), a program that Linus Torvalds wrote himself.
As a side comment, I like git over Subversion for a number of reasons. First it has data verification in the form of checking SHA1 (note that this isn't for repository protection from attacks but just for verification from corruption). It's distributed, and doesn't blow up the repository size when the repository gets large. SVN keeps a
Even if that's not much of an increase in space, it's ugly and it makes the repository (just files) hard to copy (have no idea why they implemented it this way). Of course there's a backup feature in the program so there's no reason to copy by hand, but still, it's inelegant.
"What lies behind us, and what lies before us are tiny matters compared to what lies within us." Ralph Waldo Emerson
Damnit, it's a paradigm shift that Linus is talking about. True distributed source code management brings an entirely new way of working. It enables very fast merging at a very fine granularity, which lets you use casually use this information (about what changed and when) in a way that changes the nature of how you work! It's the same sort of difference that code completion or Google search made. Once a certain kind of very useful information -- that has always been available, but a bit inconveniently -- becomes like running water out of the tap, it enables ways of working that just wouldn't have been practical before.
4 4603874737&q=git+google+tech+talk&total=3&start=0& num=10&so=3&type=search&plindex=1
If you really want to know what Linus is talking about from the man himself, watch this Google Tech Talk. It's over an hour, but there's nothing like hearing it straight from the horse's mouth.
http://video.google.com/videoplay?docid=-21993320
I used to use CVS (and still do for some projects). Then I switched over to SVN. It was remarkably unremarkable.
Then, a few months ago, there was a /. article on git. It sounded interesting so I tried it... and was thoroughly impressed.
I was up and running in about 20 minutes. You can use cvs/svn like commands, *but* you get local / decentralized repositories with fast forking and merging.
Start a project. Type "git init" and you've got a repository in place (you don't have to initialize and then check it out). "git add ." and "git commit" and you've got your first revision.
It took a little bit more effort to figure out how to push/pull from a remote repository, but it's fairly straightforward. A bunch of people can work in a group, have their own local repositories, and then merge their changes (along with the revision history). It's awesome.
The only reason I haven't switched all of my projects over to it is that the IDEs I use (Xcode and Eclipse) don't have good git integration (as far as I know).
Both do their job (CVS since years). SVN does some trivial things better than CVS.
SVN doesn't do the job because there's no built-in merge tracking, which leads to serious merge bugs.
Repeated merges (bi-directional merges) between branches generates false positives (the lack of merge tracking causes SVN to re-merge previously merged code.) The lack of true renames, means that you can lose changes during a merge if renamed files are modified on both branches. The svnmerge.py script only works at one directory level, which makes merging a single file deep in the project annoying. Since a checkin and a merge checkin are identical, there's no way to enforce merge tracking standards via hooks. All of these merge weaknesses require extra training and/or merge meisters, which is really clumsy in a large organization.
SVN is useful if you only use short lived branches (which will minimize the problems listed above.) I would not use it for large organizations due to training issues, nor for branches that require lots of inter-branch merging.
Hopefully, the merge tracking being implemented for SVN 1.5 will make SVN a real/complete scource code control system.
``Q: India is one of the major producers of software engineers, yet we don't contribute much to the Linux domain. What do you think is keeping Indians from becoming proactive on that front? How do you feel we could encourage Indians to get involved and contribute heavily? You have a fan following in India; could your iconic image be used to inspire enthusiasts? -- Bhuvaneswaran Arumugam.
Linus: This is actually a very hard question for me to answer. Getting into open source is such a complicated combination of both infrastructure (Internet access, education, you name it), flow of information and simply culture that I can't even begin to guess what the biggest stumbling block could be.''
My guess is it's because the _bulk_ of Indian software engineers are being raised on Microsoft technology (the fact that it's Microsoft is irrelevant here; what matters is that it isn't Linux and doesn't resemble Linux). I don't actually know that this is the case, but I suspect it. I've spoken to a number of people from various parts of the world that aren't Europe or North America, and the picture I get is mostly the same: virtually everybody who uses a computer uses (cheap or pirated) Windows, if you take classes in CS you are taught Microsoft tools, and, at work, you use Windows. It's like nothing else exists. Why would you contribute to Linux, coming from such an environment?
Also, I know for a fact that a lot of people in India get trained on Java. That's yet another platform that isn't Linux and, even if it's more like Linux than Microsoft's platform is, it's still different in important ways. Besides, Java can run under Linux...but that's not what usually happens.
Please correct me if I got my facts wrong.
He's right about Subversion, but he misses one point:
Putting your project in a Subversion repository takes an hour or two, maybe half a day if you're an idiot. Setting up an arch repository took me at least twice as long. Explaining how to use arch to developers who hadn't worked with it before is an order of magnitude more difficult than explaining Subversion to developers who haven't worked with it before.
Subversion is "good enough", but it's also simple, straightforward and frankly if you have anything that goes beyond a very simple project or where more than one person is involved, I can't think of many reasons to not put it into a Subversion repository.
I still like arch more for the concepts. But I don't use it. I might look at git one of those days, if I have a need Subversion doesn't address.
Assorted stuff I do sometimes: Lemuria.org
Perhaps slightly off topic, but I realize now that I'm always compelled to read stories with Linus' name because I'm a fan (not fanboy) and user of Linux. However, the man never seems to have anything positive to say. Really, is his opinion all that relevant anymore? Of course he will always be somewhat relevant due to the fact he is pretty much in charge of the kernel and contributes heavily to it, not to mention the trademark holder of Linux, but in the end he really has to answer to the community. He has to know he can't ever bite the hand that feeds him or people will go other directions.
I'm not trying to troll or insight a flame war, I'm just saying his curmudgeonly ways are getting a bit old already. At some point I imagine him being viewed as the Dvorak of Linux. Anyway, I'll understand if I get modded down, I just wanted to put my opinion in even if it's not worth much.
You've apparently not worked with NFS. Simply setting a username on your NFS client with the same UID as the user on the server allows access to all those contents of the the "chmod 700" home directory and .ssh directory. NFS is commonly known as "No Fucking Security" for a number of powerful historifcal reasons, most especially this one.
You're also apparently trapped by the same error as the Subversion authors have made. You think the local disabling of permissions to read the data means that someone locally cannot actually read the plain text passwords. Other means for access include:
* Booting with a live CD to access every file on the local drive.
* Getting fools to run a USB device on Windows systems (which doesn't accss the TortoiseSVN stored passwords, but can easily access SSH keys and passwords stored under CygWin)
* Removing hard drives for duplication (apparently a common practice in European hotels before international conferences, where thieves enjoy quite a lot of easy nabbing of passwords or even industrial espionage)
* Accessing backup tapes (an extremely popular hobby for both amateur and professional system crackers)
Setting the permissions to 700 keeps out only the most casual and polite of attackers. It's generally no more effective than putting a deadbolt on a screen door.
The Blinking Cursor was patented by Lear-Siegler in 1973 and incorporated into their ADM-3A terminal. All derivative products using this IP are in infringement.
Microsoft says legacy (serial/parallel) ports are bad. They don't obfuscate the hardware enough.
(Linus with a little balloon on hovering over his head)
"Oh hi, i shiftedz ur paradigmses."
Paradigmses, he shifted them.
See also: 0.10 history, 0.02 & 0.03 history, 0.01 history
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
the promise of NT and Cairo. Except that the "frivolous" lawsuit actually did find offending code. The only thing that saved BSD is that AT&T/USL had stolen even more code. You can call the lawsuit stupid, annoying, or disrespectful, but there was an element of truth to it. The community should have policed itself a little bit better. To this day we still here software companies decrying open source's disrespect for copyright and properly policing the code; which IMNSHO is fallout from the original attitude taken when BSD was being developed. I like open source too, but the way to go about it isn't by ignoring the licenses for code, no matter how small or insignificant the amount. Hindsight is 20/20, but that was an important lesson. By the end of the 90s, Unix vendors had mainly squabbled amongst themselves, BSD had been largely overlooked, and Linux had expended millions of dollars in efforts to reinvent a perfectly good wheel. That allowed Microsoft to take over the desktop. This makes no sense to blame on Linux. The BSD license allowed commercial forks, so they happened, while BSD failed to market itself and grow its development community (instead it forked). Meanwhile Linux was doing its own thing, but was it "wrong" for not spending its funds on supporting BSD instead? If you look at all the money ever spent developing Linux, its probably less than what was spent on one of the major commercial Unixes. Why is this ok in the business world, but not in the open source world? Also, keep in mind a lot of recent investment in Linux is precisely because of the GPL; IBM would not support development of BSD code, as that might help its competitors closed-source products.
Meanwhile, Microsoft successfully marketed a desktop, and took over a market many feel a free Unix could have occupied. Of course, in that case you should blame X-Windows and the slow development of broadly supported GUI toolkits. Both of those run on both Linux and BSD, so I don't see why this should be blamed on Linux. I guess Linus should have written a BSD-licensed version of KDE to make you happy?
Once again, technical superiority is not the only thing that matters. It isn't true in business, and it isn't true in the open source world. Building a healthy community and a working development process is just as important for long term success. And, like in business, sometimes a little competition helps, as it spurs development that might not happen in a pure monopoly.
Daniel, you're coming off like a fanboi. I love RD and all, but you're coming across like a Mactard trying to out piss Freetards.
Besides which, you're missing an important part of the equation: commodity software.
It's not offtopic, dumbass. It's orthogonal.
Technical superiority did win in BSD's case.
That's a pretty bold assumption not born out by the overall market, if you define winning the way you have been.
While Linux is doing a lot in the server arena, it has accomplished very little on the desktop, despite efforts like OpenLinux and United Linux to create a standard Linux.
I'd argue that distributions such as Mandrake, Ubuntu and PCLinuxOS have done a lot more for the desktop, but certainly none have taken the overall market by storm.
The kernel may not have forked like Open/Net/FreeBSD, but there's really no difference between forked kernels and forked distros when it comes to fracturing the market.
There's a difference between duplication of effort spent packaging existing software (distros) versus developing kernels and supporting libraries from scratch, with only partial code sharing through the heroic efforts of programmers spanning parts of the BSD family. As time goes on, this is not going to get any easier, while standards such as LSB has made packaging on Linux quite a bit simpler.
There are really no commercial apps for Linux and there is no real market that will ever encourage their development.
On the desktop there are few, but there certainly are a lot of specialized professional apps available for Linux. For everyday use, I'd question how much that matters. Sure gaming is not in a good state, but its not much better on a Mac; Consoles are even beating Windows FWIW.
That leaves Apple's Mac OS as the only viable desktop, and its based on BSD, not Linux.
So, without a commercial software market, a desktop is not viable? I guess you're not really much of an open source person. I must be really good to have been using an unviable desktop exclusively for the last 8 years as a my desktop OS. Or just maybe there's a difference between "viable" and "market leader". As an obvious Mac fanboy, you should know the difference. A 90% market share for Windows hasn't stopped OS-X from being viable, except perhaps for gaming, and (at the whim of Microsoft) office productivity.
It does however share the same POSIX platform, meaning that there's really nothing of unique value in Linux that can't be ported to Mac OS X
So if OS-X sharing Posix is good, how are multiple Linux distributions following LSB fractured and broken? You're not being very consistent.
while there is lots of value associated with Mac OS X that will never make it to Linux: commercial apps, consumer focus, real marketing, retail support and the like.
None of those have anything to do with BSD or the Mac kernel. Commercial apps in Linux are nearly comparible to Mac (but not Windows). Consumer focused distributions exist (just about anyone can use PCLinuxOS or Linspire). Real marketing, well if you consider that an OS technical feature, it's hard to compete with Apple; They are better at marketing than engineering. Retail support exists just fine if you need it; Several Linux vendors are happy to support their products if you buy them.
Here's a value that will never come to Mac OS: Linux is Free. Obviously that doesn't matter to you, since you consider the GPL "an entaglement", and you don't even seem to care about open source (BSD) either, since most of the Mac OS advantages have nothing to do with anything that's open source.
It's not that code associated with Linux isn't a great contribution to technology, it's that it simply won't matter on the desktop.
It may not matter on your desktop, but it matters on mine (and works just fine). I use Linux at home, on my laptop, and at work. That's relevant enough for me. Unlike some, I do not value my OS software based solely on how many other people are using it (how unfashionable!). I would like to see Linux used widely, but I don't feel it has "failed" unles