Tailwind used/inspired by Windi’s idea without even mentioning Windi CSS once and claiming it’s their own ideas
Adam Wathans tweet:
Props to others who have explored this approach in the past like.. @satireven who proved this could work with Tailwind's API with Windi CSS
For years I had wanted to explore an official CSS-in-JS library to get some of these same benefits, but Windi CSS especially gave me hope we could do something universal with zero runtime cost.
So, what specific ideas are being used here? The idea of a CSS-in-JS library, or something more implementation specific?
Since Windi CSS is MIT, and Tailwind JIT doesn't seems to have copy or took any of the code from Windi CSS. What is the problem here? Copying an idea?
There's just a tremendous amount of craftsmanship in between a great idea and a great product. And as you evolve that great idea, it changes and grows. It never comes out like it starts because you learn a lot more as you get into the subtleties of it.
Did Windi credit all the people who have pioneered JIT compilation? There is nothing to be upset about here, you had an idea... Cool. Someone thought that was a good idea and re-implemented it in their framework.
If the windi devs are this entitled, I can see why you might roll your own, seeing how insufferable it could be to work with them.
If I understand this correctly, one library built a feature another library has using independent code? That doesn't sound to me like a scandal of any sort.
I dont see why it needs attribution when it's MIT. Okay, you may argue its about ethics. Then why the heck do we need different types of license then?
Whatever the licence people still want attribution, share in business that use their project etc etc.
Lets just put on the README.md attribute me, release the source or do whatever you want, dont use my project for profits.
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The MIT license has just one condition, but it's there. (If you don't want it, try 0-clause BSD.)
(From other comments, it sounds like Tailwind isn't a derivative of the copyrighted work in Windi, just the idea, so the MIT license is not relevant. But if the MIT license is relevant, the one and only thing the MIT license obligates you to do is to attribute the origin of the code. Even if you incorporate it into GPL'd software, even if you incorporate it into commercial software, the MIT license and the original copyright notice must be preserved.)
I think I'm still a fan of Adam Wathan. It seems like it would have been so easy for him to credit Windi CSS, and it would have made it an all around great video to me. I don't understand why he didn't do it. Perhaps if I had done it I would have talked about Windi CSS for five minutes and it would have distracted from the point of the video. Maybe even talking about it for five seconds would have distracted from the point of the video?
FAAMG companies also don't credit people for making bits and pieces of things they release, even when they directly use them to deliver a key feature. In this case he didn't use WindiCSS' code at all, and it seems like they probably wouldn't have needed to because they no doubt took a different approach. Maybe Adam Wathan is a bit like Steve Jobs.
It sounds like the crux of the issue is found in this tweet (mentioned in the blogpost):
> I remember the day when Windi got blown up on Twitter, @adamwathan called me and asked me about how Windi CSS works and he is happy to make it official. And yeah, I was excited to see things are improving for the whole community, so I shared all I know with him. [1]
Speculating, but this sounds like Anthony Fu lost his trust in Adam Wathan after their personal one-on-one conversation about how the Windi CSS technology works, then failing to mention it subsequently.
As also mentioned in the blogpost, Adam did end up mentioning Windi CSS in a tweet, only after the pushback from Anthony's original tweet. [2]
Yeah. Perhaps it was a simplistic explanation and Adam Wathan got bored and went on to working on it on a brand new implementation. I would have a hard time making an implementation of something like that sound impressive. I imagine @adamwathan meets a lot of people, some of whom he continues collaborating with, and some who he doesn't.
He also had a similar issue w/ Heroicons, which are icons from Tailwind. Someone made heroicons.dev which shows a filterable list of them, and later Tailwind made one and put it on heroicons.com which also has a very similar looking filterable list of them.
Again it was an idea that could be explained in its entirety in under a minute.
Maybe it was an invitation to get involved with the tailwind project, and if he did maybe WindiCSS could have rebranded and become the Tailwind JIT and the authors would be credited as contributors - not featured as prominently as Adam and his company but still known within the community.
> In this case he didn't use WindiCSS' code at all, and it seems like they probably wouldn't have needed to because they no doubt took a different approach.
> it seems like they probably wouldn't have needed to
> they no doubt took
I'm getting conflicting signals here. Could you edit your posts to remove the words referring to probability and impressions since you know for a fact what happened?
No. I am just speaking from personal experience. It makes zero sense for Tailwind to copy and paste from another project, built by a different team to different coding standards, and end up with a different result (Tailwind JIT is faster and less production tested than Windi CSS). Even if they did, I don't think they would lie about it.
So we are back in the phase of mixing html and style, which was considered super bad practice just a few years ago. Now we have components frameworks like vue or react so some people argue it's not that bad to mix html and style. How long before we consider things like tailwind as bad practice again?
The thing is there is no hivemind best practice. It depends on a lot of factors such as team size, project duration, technology stacks, etc... As you may already know being able to spot pros and cons ahead of time and avoiding pitfalls for a specific scenario just comes from experience. So if anyone is uncertain about how to proceed, the only way you can become more comfortable in decisions is to try all the things and learn the nuances of different approaches. Eventually it becomes much more natural and requires less effort.
Does this mean never put style strings in html? Whether by style-attr, JS or CSS, that html tree has to get style attributes somehow.
I sort of accepted a similar view, that functionality and presentation should be separate (although base html isn't necessarily representative of either).
Now have a more nuanced view: functionality and presentation don't map strictly to logic (js) and style (CSS) - I think there is such a thing as presentation logic, versus data logic.