Only unimportant scraps of code can be free, but the real code must remain secret, restricted, proprietary.
Clearly Microsoft missed this as they are open sourcing most (all?) of .Net?
Only unimportant scraps of code can be free, but the real code must remain secret, restricted, proprietary.
Clearly Microsoft missed this as they are open sourcing most (all?) of .Net?
Ie. Facebook has open sourced React, Cassandra, HHVM... but they will never open source the code that powers the newsfeed or the friend list.
I don't think companies that do this have a true commitment to respecting their users, and their rhetoric about the evils of copyleft always make me think, "what are you trying to hide or control?"
---
[1] http://www.nbcnews.com/tech/internet/facebook-manipulates-em...
I don't care for the way the my Microsoft Windows computer changes focus between windows. I'm sure a quick change to DWM.exe (Desktop Window Manager) would make me much happier as a user. I'll even do the work myself.
Can you tell me where I can go grab the latest source code for DWM, so I can make those changes?
I don't think it's possible for a home user. And I think it's important. (If I'm wrong, I'd love to be corrected.)
I don't find the argument that users will go around making changes and testing them on OS level code to be a credible reason for open-sourcing anything. If you want to say, that having the code helps in other ways for development, or debugging then sure..
I also wish I had the source code to the controller software to a large motorized rock climbing wall that was produced back in 2002. The "Assent fun rock".
Alas, I don't. So... I've reverse engineered the protocol between the device and the native computer controller and implemented my own controller stack from the ground up on linux.
Why? because I wanted to add an algorithm that lets the speed of the device respond to the reading on my heart rate monitor.
Here's a photo of me on the thing, courtesy of my friend. https://www.instagram.com/p/48WVcbkT6x/
Good question. Just ask it respectfully because..
> Alas, I don't. So... I've reverse engineered the protocol between the device and the native computer controller and implemented my own controller stack from the ground up on linux.
... it gets better everytime it actually is a hacker on the other end.
Have my upvote!
That said:
Can you point to all the things you have modified in programs where you do have source access?
Can easily be interpreted as slightly disrespectful.
I think its fair to say you obviously understood the spirit of my question since the context was open source operating systems. So, let me ask again, what have you changed about the OS at a system level?
http://www.oreilly.com/openbook/freedom/ch01.html
I chose my "climbing wall" example because IMO it's the closest a story of my own comes to Richard's experience (granted there are differences). To me, that makes it very much an "open source" example.
Between both Richard's printer, and my climbing wall both of us are basically happy with a hardware/software combo. We just want to make a tiny change. But - we can't.
(Unlike Richard, I feel absolutely no righteous anger, but like Richard, I did roll up my sleeves and get to work and now - Yay! the thing I wanted exists in this world!) ---
If you still would rather I give a different example that might be better in line with your expectations and personal definitions... fine. When I was a teen, I got a copy of Gary Nutt's book: "Kernel Projects for Linux", using the book, I modified the ext2 file system to allow for "tagging" of file entries (As much as it pains me to say it: think hashtags). I would tag source code with the project name it belonged to.
I used that file system for years and years. I enjoyed this minor feature and found a lot of joy in having done it myself.
Now coming back to the example, that is a great example. I think we can learn a lot from that. One thing is that 'open' is a large cafeteria. You would agree that simply opening the source is not sufficient in most cases. If the spec for EXT2 changed after every minor update to the kernel that would make your addition pointless. Same thing with the API at the I/O level. If that changed all the time, it would make your addition brittle and prone to breakage. So what is it that's really beneficial here? I'd argue that the source is the least important here. Open protocols, open data formats, defined interface boundaries, and the like are _much_ more valuable, really, several orders of magnitude than simply dumping several million lines of code onto someone.
Also.. its funny that you mention RMS since he is so vehemently opposed to using the term open source :P
"Users" empowered by the source code do not just simply make changes, they write complete replacements for parts of the system.
For example:
On an open system you have plenty of choice in WMs (all written by the "users").
On Windows you are stuck with DWM.exe.
My point was that when the source code is available, the users will even write complete replacements, instead of just adding small patches.
On Windows, for example, as an user you are free to replace and rewrite drivers for any piece of hardware even if you don't have the source for the OS. Another feature of Windows, a defined ABI, allows Wine to continue running Windows code, even when the internals of Windows change. Another feature of Windows, the modular I/O system, lets you to modify behavior the file system through filters (without worrying about how I/O works internally). You can basically write your own file system, or even extend NTFS, using this, all without knowing how Windows works internally.
The Linux kernel, historically since it was based on UNIX was not modular. Now it has some of the things NT has, and also some cool stuff that NT doesn't.
"""BootShellCredentialProvider - Bringing Linux DEs to Windows
BSCP lets you boot Windows directly into a Linux desktop experience, using Windows' native Logon UI and a combination of Xming & WSL upon login."""