Virtualbox is an out-of-tree module and hence needs to be compiled. The base package is GPLv2 and is compatible with the Linux kernel license, but I don't know if Virtualbox developers ever tried to "upstream" their module. This is probably the easiest way to solve your problem. Most Virtualization Software these days use virtualization hardware extensions (Intel VMX/AMD SVM) and so the "hypervisor code" needs to be able to execute privileged instructions, eg - you can't run VMON from ring 3/userspace.
True. If you follow LKML, you will notice that the majority of changes are to the device drivers code. And it makes sense, after all, you want the kernel to run on a wide variety of hardware. So, it's not just what fraction of developers work on the core but rather, what the fraction of changes belong to the core kernel - which is relatively small compared to the device drivers code.
Another good way of getting into kernel hacking is not just device driver books but following mailing lists you are interested in. netdev, pci-devel, kvm are some of the interesting ones. Also, checkout GregKH's driver project - these are drivers that are not yet fit of inclusion and hence reside in a "staging" area - a great way to get involved in kernel development ( http://linuxdriverproject.org/mediawiki/index.php/Main_Page). Note that some of the lists can have really high traffic but eventually you will get the hang of picking out the useful stuff. https://lwn.net/Kernel/Patches is a great resource for mention-worthy kernel patches without subscribing to individual lists.
I also agree with you that maintainers will _not_ be cautious and prevent newcomers. That's a bunch of bull. If at all, maintainers will be welcoming to changes from first timers and will thank you for your contributions if your changes do get in. Maintainers or other developers usually are frustrated with other style issues though - for example, lines greater than 80 chars, using a mail client that mangles your patch and so on. But keep in mind that the frustration is on the patch you posted, definitely not on you on a personal level :)
>The thesis is that things like Linux belong to a category of >human endeavours that are opposite in nature to most of what >regular consumers are exposed to nowadays
But this is true for any open source project, why just Linux ? That said, I feel Linux too can't escape the "economy of bullshit" - commercial companies have interest and contribute to different parts of the Linux kernel for a reason. Heck even MS works on the hyper-v code base, not for the betterment of Linux but for the good of their own product. The "enterprise focus" of LKML activity is proof enough.
Not in my opinion. In my opinion, Gnome, KDE, Ubuntu and many others are self-destructing in an effort to imitate Apple's design without understanding it, and generating a good amount of bullshit in the process.
I don't think anyone here is suggesting that companies==bullshit. There's nothing wrong with smart employees of big companies contributing to the kernel. In many cases it's mutually beneficial so it's the rational thing to do. On the other hand, it seems to be very hard to create a big corporation without letting bullshit fester. Linux is not controlled by the sort of people that thrive on bullshit. But could it fall under their control in the future? Sure.
> Gnome, KDE, Ubuntu and many others are self-destructing in an effort to imitate Apple's design without understanding it
I'd go so far to say that the desktop App Store is a BAD idea.
1. It was meant to make mobile more free, and now makes desktops less free.
It was born out of things like Brew on the old, old cellular market. Mobile content used to be as free as a concentration camp, and in order to appease them, Apple said "we'll do your content management for you". That was a huge deal step forward, but it obviously wasn't enough or people wouldn't jailbreak their phones.
2. It is not sustainable over the long haul.
Centralized app management is not a long-sustainable model for the desktop, or anything for that matter. You cannot continue to micromanage that much software without things eventually deteriorating. Apps require maintenance or removed as hardware and the OS changes.
3. The user experience sucks.
It puts all the installed apps in its own area (LaunchPad) in addition to the AppStore app where you see what you bought, and both in addition to the previously widely known Applications directory/folder. That's just stupid. Why do people want to emulate that mess?
3. But it survives for now because it is profitable.
I've bought more apps in OS X using the App Store than I would have in a store or via some other online delivery mechanism or Amazon, etc.
But, none of all of that would have been as terrible, if it hadn't spread to Ubuntu. Seeing similar there was a huge WTF moment.
If we are talking about the Linux kernel, specifically, then of course it's not consumer bullshit, because the Linux kernel is a technical product in a B2B market. You might as well say that Intel CPUs or Samsung flash chips or Nikon steppers are not consumer bullshit.
Yes, I learned it the hard way when I had around 200 BTC stolen from the online service I was using. I kept blaming the service but the fact is it's stupid to think of bitcoins = hard currencies and online wallet services = bank.
Saying Netflix can't be associated with open source because they don't have a Linux client is very close-minded. Netflix sent an engineer to a recent BSD conference to talk about some of the custom caching servers they use in their CDN. He went into detail about how they designed the system and what they learnt. They've published a huge amount of information about how they've built on top of AWS. What about these actions indicates that they're not dedicated to open-source? Probably the only reason they haven't been quicker to develop for Linux is the same agreements that allow them to carry so much content - the developers have been quite clear that they would love to have a Linux client.
Not everyone who advocates opensource is a developer. I am an end user of Netflix. I would like to see Netflix run on my Linux laptop and I don't care if Netflix talks about the underlying architecture in open source conferences (M$ does that too) or how they use opensource for their infrastructure. The only reason they don't support Linux is because they know it's a small user base. If they really want they can come up with a solution just like they did for Android (and ChromeOS too I guess ?) Even if I do agree with your reasoning about the inverse relation between content and Linux, why haven't they yet come up with something that provides altleast limited access to their content for Linux users ?
Because it's still not worth it. I find it inconvenient too, so I'm not disagreeing with you that it would be great, but I disagree with the attitude I've seen in several comments that this Netflix isn't being open here. They've released everything they feasibly can. They're under no obligation to develop a client for the operating system you and I happen to use.
edit: I just noticed you did acknowledge the small user base. So, that being the case, are you actually arguing that some executive at Netlifx is like, "Nah - screw open source - we totally have the spare resources to develop a Linux client that will have a negligible return on investment, but they can suck it?" If it's not worth it, they won't do it. It's like accusing Linus Torvalds of not being open because he hasn't yet supported your feature-of-choice from some other OS.
The reason I won't accuse Linus of not being open even though he doesn't support my feature-of-choice is because while he ditches my idea saying it is crap, he still gives me the source to mess with. So, I or a friend can make the change for me and I can be happy and content.
Here's another analogy : It's like Microsoft Studios talking about how the development team used a Linux based compile farm and testbed for their new game but nevertheless, the game itself won't run on Linux.
If Microsoft Studios released the sourcecode to any modifications they used, or even just documented the setup they used for that compilefarm, I'd be grateful for the contribution. Yeah, it's not as good as opensourcing the game and porting it to linux, bsd, solaris et all.. but it's still a contribution to the community that they had no need to make.
For the record, I was a netflix subscriber and canceled a long time ago because of inaccessibility of their instant video service--If it won't run on xbmc, I'm better off getting it somewhere else like amazon Prime. I even told them as much. I still appreciate them releasing all of this stuff though.
Netflix has to make business decisions on what platforms to support via which DRM technologies work for them and their Hollywood suppliers. I'm just thankful they still exist at all and I don't have to rent DVDs anymore.
They don't "owe" anyone anything. It's a for-profit company, and they're being generous with their infrastructure source.
Delivering a software solution for linux does not make one a contributor to opensource. Open-sourcing technology does. One could make nothing but software for Windows, or OSX, or OS2 for chrissakes, and still be a contributor to open-source by contributing the source of their code. The point is in giving, not whether or not you care to receive.
Unfortunately their hands are tied on this one. The DRM is a part of their licensing agreement with their content providers. I'm sure if they could move off Silverlight for their desktop streaming platform, they would in a heartbeat.
Interestingly enough, they use FreeBSD for their servers.
Yes, Netflix has an obligation. An obligation to provide what they say they'll provide and nothing more.
Netflix has always said they have no plans to support Linux. It may suck for Linux users but they're being honest about it. I think it's a big stretch to imply that they have an obligation to support such users.
Netflix only functions on desktop operating systems with Silverlight, a Microsoft plugin for some browsers that only is supported on modern OS X versions and Windows. Additionally, there is a native Android and iOS version. People who want to watch it on Linux, are forced to something extremely impractical like emulate Android - it is a closed system.
Putting aside the way the Bitcoinica account got compromised, I wanted to mention that I learned the hard way that either Mt.Gox is rife with security holes or a lot of these breaches are actually insider jobs from someone working at MtGox : A month back I realized that I had around 40 BTC lying around and decided to sell them on MtGox. First, my Mt.Gox is mostly inactive, so I actually had to reset my password and setup a new one that I had never used before. Then, after I sold my coins, I realized I cannot transfer my money to my Dwolla account; MtGox needs a scanned copy of my SSN! While I was deliberating whether I should trust MtGox with my SSN, 24 hours had passed, and I got an automated email from MtGox saying my money had been converted to bitcoins and has been transferred! Everything gone! So, the fact that :
1. My account was mostly inactive.
2. I had recently changed my account password to a new more complex one : 2 upper caps, 5 lower case, 2 numbers and one special character.
3. My money was sitting in my account for only 24 hours.
4. The time between my money getting converted to bitcoins and the actual transfer was just a few seconds, as if an automated script scans all accounts and the performs some tasks on them.
So, in short, please don't put all the blame on Bitcoinica. Something's wrong at MtGox too :)
Not that there aren't any keyloggers for Linux, I never found anything suspicious, nor have any of my other accounts been breached into. But yeah, if there is a keylogger, I bet it got installed from the Mt.Gox website itself ;)
Technically, anyone who has contributed to the Linux kernel can drag them to court. Probably not something an average developer will jump into :) That said, Harald Welte has a dedicated site for this : http://gpl-violations.org/ and he is pretty active chasing violators. Personally, I believe if there is straightforward evidence that the sources they are providing is incomplete, spreading the word around is a good start!
"Some of you may think such a test is a waste of time but I assure you it is not. It's astonishing how many people can't do this."
Well, I can assure you that as a kernel programmer, I think it IS indeed a waste of time. It's also astonishing that the moment the interviewer asks me something like this, my enthusiasm and interest in the interview drops by more than 50%. When I apply for a kernel programming a job at Google, I am dying to talk about my system internals knowledge, device driver programming experience, subtle differences between the AMD/Intel arch and what not. Instead, what do I get ? The recruiter asks me to recite by heart problems from a popular algorithms book for the pre-screening. It's like the prospective employer is telling me : I don't care what you did in the last three years. Let's start from scratch!
What also bothers me is the the test for coding skills. When a company hires a Linux kernel developer, the best possible way to test for coding skills is to look at my contributions. Instead, I am asked to write code and implement malloc so that the interviewer gets a taste of my coding knowledge. I think this is a huge waste of time.
My point being that the job interview at Google is incredibly generic. I believe that just like you should have a different resume for each job you apply to, the same applies to the interview process too.
More Info: This is very specific to my interview experience at Google. The two times that I applied at Google for Linux kernel development positions, overall I had the same experience as described above.
Some more Info : I also don't understand the idea of the algorithms test during the prescreen. If you go through the algorithms book the recruiter suggests and look up on glassdoor for interview questions, there's a very fair chance that you already know the answer to the question that's being asked!
If you go through the algorithms book the recruiter suggests and look up on glassdoor for interview questions, there's a very fair chance that you already know the answer to the question that's being asked!
Most of the supposed brilliant Algorithm and Math brains are basically people who crawl internet forums for puzzle questions by spending around 30 minutes everyday.
They don't know a jack about algorithms or math. Its just they know enough to game the interview.