4 ms·
Oh really? 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 Manage
by schaefer 10y ago
Oh really?
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.)
- artimaeis 10y agoDWM.exe is not a part of .NET, it's part of Windows. The .NET team has been making strives towards open source, but the Windows team has not.
- ksk 10y agoCan you point to all the things you have modified in programs where you do have source access? 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..
- schaefer 10y agoI will not provide an exhaustive list, but I will give a single example. 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/ https://www.instagram.com/p/48WVcbkT6x/
- reitanqild 10y ago>> Can you point to all the things you have modified in programs where you do have source access? 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!
- ksk 10y agoWhy have you assumed it was not respectful?
- reitanqild 10y agoMostly poor wording from my side I hope; I mean generally when asking that question it should be done respectfully. 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.
- ksk 10y agoI think that example blurs the lines between open source, and adding functionality to a piece of hardware, and having an open data protocol. People are not purchasing the hardware and software without integration. This is less about open source, and more in the hardware hacking category. Otherwise, since every piece of modern electronics has some kind of firmware/microcontroller in them, that would make anything at all to do with them, about 'open source'. 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?
- schaefer 10y agoYou and I have very different working definitions of the phrase "open source", and the philosophy behind it. I'd be curious, If I asked you to pinpoint the start of the open source movement - the exact moment - what you'd choose. If asked the same question, I'd offer up Stallman's "printer parable". http://www.oreilly.com/openbook/freedom/ch01.html 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.
- ksk 10y agoI don't want to advocate for a more "pure" definition of open source. You can widen or shrink the scope of anything at any time. I am perfectly OK with a vague definition of open source that encompasses hardware too. But that is not an opensource definition that I personally (and I would argue most) care about all that much. Few people, if any, are interested in modifying the firmware inside their microwave or refrigerator. Sure, at some point such firmware could become burdensome (e.g. coffee maker with DRM'ed k-cups) to the point where opensourcing the firmware would be something I could get behind. For you that tipping point is different. 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
- qplex 10y agoOh, don't worry. It's quite credible. "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.
- ksk 10y agoYou're conflating modular design, open communication protocols, and open source operating systems.
- qplex 10y agoSo are you saying that Microsoft releases the necessary API specifications for writing a replacement for 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.
- ksk 10y agoThe point you missed is that OS-component-level replacements have more to do with interfaces inside the OS than the inner workings of the entire product. 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.
- duck2 10y agoI think there are dwm.exe replacements for Windows. See bblean[0]. [0]: http://bb4win.sourceforge.net/bblean/ http://bb4win.sourceforge.net/bblean/