4 ms·
The Terminal team is very aware of this code, and are not able to use it due to how Casey licensed it. They aren't even allowed to look at it. Casey deliberat
by naikrovek 4y ago
The Terminal team is very aware of this code, and are not able to use it due to how Casey licensed it. They aren't even allowed to look at it. Casey deliberately licensed it as GPL so that Microsoft could not use it, actually. That's his choice, of course.
The Terminal team have a path forward to implement strong performance improvements based on techniques like those Casey described, and are working on those improvements now, I'm told.
Microsoft haters will continue to say all kinds of stuff no matter what Microsoft does, so Microsoft isn't doing this to appease anyone; it's just performance work that they didn't understand was as easily reached as it is, and they built the Terminal in wrong ways the first time around. Anyway, it's being fixed.
I've never worked at Microsoft but I've worked with a lot of MS employees throughout my career and I wish I could convey just how much the goals of the individual employees line up with people like us. The developers at Microsoft are people like us. Extremely and intentionally caustic feedback on Microsoft stuff does nothing but give those employees good reason to stop working on the projects they love, but which also get the most attention, like Terminal. This necessarily produces a worse outcome for the project.
I wish I could make the extremely vocal and vitriolic people understand that their vitriol is counterproductive in the extreme, and makes everything worse.
- tresqotheq 4y ago
- Spooky23 4y agoMicrosoft the business creates those caustic relationships. I’ve managed 9-figure relationships with different software companies. Microsoft plays dirty, both with their own people, who have unachievable goals that encourage douche behavior, and with the customer. I feel for the folks on the ground. The engineers crank out amazing work. But part of working for a company that essentially taxes every global business and government is having a thick skin.
- naikrovek 4y ago> part of working for a company that essentially taxes every global business and government is having a thick skin. no. people are people, and if the human race is going to survive its own actions, the actions must change. no part of any job should require that harassment be tolerated, and it's not feasible to ask for that.
- markus_zhang 4y agoJust to clarify, I do not hate MSFT. I just don't have the ability to implement such things and just curious whether it is feasible (in reasonable time) or not. If the actual code is not available maybe someone can fork the Terminal code? Or if that does not get around the legal stuffs, maybe take the idea and go from there?
- forgotpwd16 4y agoYou cannot use Casey's code (GPL) in Terminal (MIT). But he has explained his model. Issue is iirc what he proposed and how Terminal works significantly differ.
- dundarious 4y agoYes, I’m skeptical that WT will incorporate his design, as it is a big design change. There’s no way to just “plug it in” somewhere, without replacing the beating heart of WT. It would be great if they did that though, and I’d applaud them for it.
- forgotpwd16 4y agoApparently they did and in retro-perspective it was indeed that simple. (Simple as in they made their own custom renderer afterall.) https://devblogs.microsoft.com/commandline/case-study-how-many-colors-are-too-many-colors-for-windows-terminal/ https://devblogs.microsoft.com/commandline/case-study-how-ma...
- dundarious 4y agoBrilliant! Haven't had time to read it yet, but that's great to hear.
- dundarious 4y agoI think Casey did a lot of other great work on more correct and speedy non-ASCII support, and very efficient scrollback (in both memory and time cost), etc. It's been a while, but I think the atlas approach is also different. But kudos for what seems to be a good step. I'm curious to see some data on the resulting performance and memory usage (presuming the latter is mostly unchanged).
- dundarious 4y agoI think Casey's somewhat caustic exasperation can be a major distraction at times, especially if you are exposed to it the first time you listen to him. But I have to say, his frustration is justified. He has valid complaints about almost the entire industry and educational system, so it's not just directed at Microsoft, and certainly not just at the individual grunts working there (almost all of use are grunts). I do know some of the backstory behind Casey starting this reference project/experiment (I won't post the GitHub issue "lore" here, as it'll just create even more of a "he started it, no he did" back-and-forth), so I think there is some mutual animus with these particular grunts, but I think that's not at all interesting, and I don't think knowing the backstory changes anything. Instead of just personalizing his critique (ignoring that Casey makes it easy to do that), think of it this way: why hasn't Microsoft leadership, running a multi-billion dollar company for decades, already devoted appropriate resources to create an essentially perfect terminal/console, something so discrete and simple and fixed in feature-set? Also, I don't put much stock in the complaint about Casey's license choice. He made plenty of educational content delving into the design and implementation details, and one of his major points is that non-pessimisation implementations such as his have so little code in the first place.
- naikrovek 4y ago> why hasn't Microsoft leadership, running a multi-billion dollar company for decades, already devoted appropriate resources to create an essentially perfect terminal/console, something so discrete and simple and fixed in feature-set? competing priorities, lack of customer interest, lack of need, desire to keep backwards compatibility, additional support workload, probable belief that they had a good enough terminal, they couldn't find the right people (the project lead for the new terminal was hired into Microsoft specifically for that position, leading me to believe they didn't have anyone internally who was qualified or interested enough to take the job), and because a fully compatible terminal is not trivial to make. they can't go back in time and make it, they can only change what they're doing now, and Terminal is getting better all the time. complaint about behavior that is no longer happening is just masturbation, plain and simple.
- dundarious 4y ago
- justin66 4y ago> They aren't even allowed to look at it. Casey deliberately licensed it as GPL so that Microsoft could not use it, actually. Why does Microsoft prevent its developers from reading GPL-licensed code?
- dboreham 4y agoLawyers concerned in-house code may become virally GPL licensed (I think, it has been a while since I had insight into MS inner workings). Same sort of thing as many/most companies won't allow their employees to look at patents.
- justin66 4y ago> in-house code may become virally GPL licensed Without reusing any of that code, simply by osmosis? I don't know what the legal theory could be, but is that something that has ever happened in the entire history of the GPL?
- tmottabr 4y agono, by writing similar \ equal code somewhere that later other people looking at it could argue is a re-use of the GPL code they looked at and thus causing the whole project to became GPL. it is just them thinking it is better being safe then sorry. if they don't even look at the code there is no way to argue that they are copying it.
- Liquid_Fire 4y agoJust a small correction/clarification - using GPL code inside a non-GPL project doesn't magically cause it to become GPL, it just means you would be committing copyright infringement if you distributed your project afterwards. It's still something you want to avoid, but the outcome would potentially be a lawsuit from the copyright holder, rather than forcing you to relicense your project.
- twaw 4y ago