Tailwind JIT fails to credit Windi CSS
antfu.me
antfu.me
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?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.
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.
> 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.)
The original purpose of the MIT license was to require attribution: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=926...
(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.)
Could you come up with that idea independently? I think so.
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.
> 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]
[1] https://twitter.com/antfu7/status/1371538602488786945
[2] https://twitter.com/adamwathan/status/1371542711086559237?s=...
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.
I wonder when Fu says:
Windi pushed Tailwind to make the JIT
If that relates to this?No.
> 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?
CSS will be extended until it solves the pain points, at which point things will swing in the other direction.
It's just a question of where your abstraction point is. Currently it's in a component. Tomorrow it might move.
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.