htmlstreamofficial / preline

Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.
https://preline.co
Other
4.53k stars 283 forks source link

Fork from Flowbite. Shouldn't it be mentioned? #1

Closed zoltanszogyenyi closed 1 year ago

zoltanszogyenyi commented 2 years ago

Hey everyone,

First of all I'm happy to see more open-source projects being built on top of the Tailwind CSS ecosystem. This is important for the overall industry and for the community to benefit from more content.

I've taken a good look at Preline and I must say that as one of the founders of Flowbite I have found a whole lot of similarities starting from the way to the documentation looks and feels and up to the components themselves.

Of course the code is not exactly the same, but the whole concept of Preline seems VERY similar to Flowbite.

As a contributor it would be nice to at least mention it if you've taken it as an inspiration.

Otherwise, I wish you good luck with the development of this library.

Thanks!

Edit: after taking a better look I've found that you've actually forked the Flowbite repository. You can see this if you take a look at the commit history on Preline and check out the authors from the package.json file:

https://github.com/htmlstreamofficial/preline/commit/d7f5670402192c607653bc33ae35104f025739ef#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519

Screenshot 2022-06-08 at 11 17 21

I don't think there is anything else to comment on here until a response from the authors of Preline.

Edit: @green-cats I saw that you have just removed the evidence under the disguise of a commit message.

Commit removing the evidence: https://github.com/htmlstreamofficial/preline/commit/8896fdf488979be67e0d87003cfae936958eec2e

jahaganiev commented 2 years ago

Hi @zoltanszogyenyi 👋

Thank you for your feedback and wishes. I truly appreciate it!

First of all, I totally agree with you on the importance of diversifying Tailwind CSS resources and also hope this community grows further.

Please note that Preline UI is NOT a fork of any other project and was created entirely from scratch. Regrettably, your public statements about Preline being a replica are deceptive at its core.

Anyone can examine the code and design in depth and ensure that it's nowhere close to other Tailwind based products. Over the last 10 years, we've been creating UIs for front-end developers with a lot of concepts, and if you look closely at our products, you'll notice a lot of similarities to our own existing premium Bootstrap Themes.

Besides our own products, the Docs layout in Preline is inspired by the original Tailwind CSS documentation. Simple example links to compare:

Preline UI: https://preline.co/docs/index.html

Tailwind CSS: https://tailwindcss.com/docs/installation

We respect all the hard work of the teams behind other products in the market and for that reason we never copied a single line of code during the last 10 years of creating UI's in the market.

Also, I've just dropped a reply on the Product Hunt for your message regarding the above statement here https://www.producthunt.com/posts/preline-ui

Wrapping up, I'd like to wish all the best for your projects and team!

Cheers! 🍻

zoltanszogyenyi commented 2 years ago

Hello @jahaganiev,

Thanks for getting back to me.

I still can't wrap my head around why would the contributors from Flowbite appear on the package.json file from Preline while you also claim that not one single code has been copied from other projects.

Other than that, if you compare the two pages it is obvious that Preline was built to replicate Flowbite:

Preline buttons: https://preline.co/docs/buttons.html Flowbite buttons: https://flowbite.com/docs/components/buttons/

Preline navbars: https://preline.co/docs/navbar.html Flowbite navbars: https://flowbite.com/docs/components/navbar/

We've had these published since September 2021.

And so many other documentation related features that were available only for Flowbite, such as:

Of course, the code is not exactly the same, and the design is not exactly the same, but in concept, it is a replica and a copycat.

And if I take a look at your roadmap, you will also replicate the fact that we have a Figma design system and probably copy everything else that we will launch from now on.

Based on that we won't be able to view it as a unique and standalone library, but I wish you all the luck in the world!

Regards, Zoltan

jahaganiev commented 2 years ago

Hello @zoltanszogyenyi,

Thank you for your response and sharing your point of view. Let’s discuss it more in-depth and address all parts of it at a time.

I still can't wrap my head around why would the contributors from Flowbite appear on the package.json file from Preline while you also claim that not one single code has been copied from other projects.

As I’ve mentioned previously, there was a mistake done by our team member which has been addressed shortly after you have highlighted it and the link to original NPM source files which Preline UI initially comes was shared. This can be effortlessly checked and examined from the original NPM sources. It was a mere mistake done at a final stage. I assure you that Preline UI was not built, designed or planned as any sort of copy of existing product and I will show you why:

We have test deployments on May 15, 2022, means, dated before the uploaded JavaScript files to Github repository on May 17, 2022. Here’s the link for that NPM page https://www.npmjs.com/package/@preline/preline where we run testings. This page hasn’t been touched since the testing day which is May 15, 2022 (again, before uploaded day to Github repository) and anyone can run npm view @preline/preline time --json to see the timestamp with included package.json file which shows that Preline UI is made of its custom and authentic sources.

image

Below is the package.json file can be seen from the May 15, 2022 that it’s pretty much standard package.json file which runs Preline UI without any issues:

  "name": "@preline/preline",
  "version": "1.0.0",
  "description": "Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.",
  "main": "dist/hs-ui.bundle.js",
  "repository": {
    "type": "git",
    "url": "https://github.com/htmlstreamofficial/preline"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },
  "keywords": [],
  "author": "Htmlstream",
  "license": "MIT",
  "devDependencies": {
    "@babel/core": "^7.17.5",
    "@babel/preset-env": "^7.16.11",
    "babel-loader": "^8.2.3",
    "source-map-loader": "^3.0.1",
    "webpack": "^5.69.1",
    "webpack-cli": "^4.9.2"
  },
  "dependencies": {
    "@popperjs/core": "^2.11.2"
  }
}

It doesn’t include any innovative unique functions, it’s just simple package.json file at the end of the day.

Once again, I would like to emphasise that Preline UI was built from scratch by that moment already, and NOT on top of any third party codes and libraries except official Tailwind CSS Framework itself.

 

Other than that, if you compare the two pages it is obvious that Preline was built to replicate Flowbite:

Preline buttons: https://preline.co/docs/buttons.html Flowbite buttons: https://flowbite.com/docs/components/buttons/

Preline navbars: https://preline.co/docs/navbar.html Flowbite navbars: https://flowbite.com/docs/components/navbar/

We've had these published since September 2021.

Looking at buttons and navbars and all our components the differences are self-evident.

Please, have a closer look to these pages, there’re more similarities in terms of look and feel to our existing products which are released way before Flowbite.

Here are some example screenshots from Preline UI and Front Dashboard (our existing premium product):

image image

   

And so many other documentation related features that were available only for Flowbite, such as:

  • the dark toggle for each component
  • the "requires js" button
  • for the plugin you didn't even need to call it preline/plugin, couldn't have been something else but it's clear that you took this from Flowbite

Let me start with a simple example, here’s a screenshot from our existing premium product Front Dashboard which is live since 2020, way before Flowbite and it’s not even an open source project:

 

image

 

here’s a screenshot of Flowbite Pro:

image

I personally can see lot of similarities from the position of the toolbar, icons and the structure of the language with written words inside the parenthesis. So, following your logic and statements, should Flowbite Pro be called “replica” or “copycat" of Front Dashboard? Of course no, because it doesn’t make any sense!

   

Of course, the code is not exactly the same, and the design is not exactly the same, but in concept, it is a replica and a copycat.

And if I take a look at your roadmap, you will also replicate the fact that we have a Figma design system and probably copy everything else that we will launch from now on.

The definition of “concept” is too vague. By a concept Preline UI is a Tailwind library, and this concept does not belong to anyone. For that reason, a product that was built with a similar intention is not a copy, it is a competing product. It is important to think of a definition of the word “copycat” or “replica” before throwing it unreasonably for a constructive dialogue to take place.

We’ve been generously investing in every bit of the products in the past 9 years including purchasing every single image, icon set and other assets where needed. We always take care of third party credits and licensing, that really has something to do with our products and Flowbite is not the case.

Despite the disagreement, I wish you the best of luck and continuous success.

Cheers, Jaha

jahaganiev commented 1 year ago

Hello @zoltanszogyenyi,

I am closing this issue due to no activity. Please feel free to re-open or DM me.

zoltanszogyenyi commented 1 year ago

Hello Jaha,

Thanks for writing back.

Just a heads up - you forgot to change the order and content of the keywords which is another "coincidence" that Flowbite's codebase has definitely (ironic) not been forked either partially or completely:

Flowbite's original and current package.json file: https://github.com/themesberg/flowbite/blob/main/package.json

We have:

"keywords": [
    "flowbite",
    "html",
    "css",
    "javascript",
    "tailwind",
    "tailwind components",
    "tailwind elements",
    "tailwind library",
    "tailwind sections",
    "tailwind css",
    "tailwind ui",
    "tailwind css react",
    "tailwind css vue",
    "tailwind css angular",
    "tailwind css svelte",
    "tailwind css django",
    "tailwind css ruby on rails"
  ]

Preline's package.json file: https://github.com/htmlstreamofficial/preline/blob/main/package.json

You have:

"keywords": [
    "preline",
    "html",
    "css",
    "javascript",
    "tailwind",
    "tailwind components",
    "tailwind elements",
    "tailwind library",
    "tailwind sections",
    "tailwind css",
    "tailwind ui",
    "tailwind css react",
    "tailwind css vue",
    "tailwind css angular",
    "tailwind css laravel"
  ]

At least you changed the name from flowbite to preline.

Also it's pretty weird to me that you're releasing versions in commits rather than commiting steady progress - is this another reason because you're using code from other sources (I'm not talking just about Flowbite) before modifying them in-house?

By the way, I do not have permission to re-open this issue and unilaterally labeling it as 'invalid' doesn't make things right.

At the same time, just because you published something on NPM and you state that the first publish has no Flowbite code in it does not mean you couldn't fork it privately and THEN published it.

We can keep the issue closed, I don't have the time and energy to keep pursuing this anymore.

Cheers, Zoltan

jahaganiev commented 1 year ago

Hey Zoltan,

Thanks for getting back.

It’s been 7 months since Preline UI is launched and released consistent updates at this point and I’ve been open and genuinely answered all your libels.

What’s really happening here is you are speculating on unintentional minor mistake of our former employee, spreading false accusations, giving your competitor a low rating and chasing people who give us positive mentions. Bringing deliberate damage to another brand is unethical way to compete and all your claims about Preline UI are untrue.

Despite that, we are committed to continue delivering best possible products and updates for Tailwind CSS community.

Cheers, Jaha

zoltanszogyenyi commented 1 year ago

Hello Jaha,

As I've mentioned in my last comment I won't be pursuing this anymore because of the lack of time and energy.

Cheers, Zoltan

jahaganiev commented 1 year ago

Hey Zoltan,

Your continuous activity of spreading misinformation and chasing Preline UI mentions tells the opposite.

One of many examples:

image

We will not tolerate intentional false accusations!

Cheers, Jaha

zoltanszogyenyi commented 1 year ago

Hello Jaha,

At the moment when you've launched on Product Hunt I was informed by somebody on Twitter that they saw a lot of similarities between the two websites - that is when I first wrote my comment on Product Hunt.

When I saw that me and the other contributors appeared on the package.json file I got very angry because we put years of work into the code and design.

Proceeding with the Github discussion and as you've mentioned that the initial NPM v1.0.0 release didn't have the package.json file with our authors in it still gave me doubts that it wasn't used - that is why I have a few times since then mentioned this on comments.

I haven't really had a time to have a good think about this but now I can understand your perspective as well and I've decided to remove those public comments - because at the end of the day it's important that the open-source software community grows and thrives, even if some inspiration has been taken from one place or another.

In my own mind I did not make false accusations, since at the moment of those writing I believed that parts of code has been forked - but I no longer mind that.

And I do apologise that I wrote some of those comments, not because at the time I didn't think they were true - but because this isn't what we should do to each other, rather help each other whenever we can.

I don't ask of you to become friends after this, but I do ask that we both concentrate on our own projects and let the developer community decide which project will be most suitable for them.

Kind regards, Zoltan

kthrob commented 2 months ago

Well, this was interesting. Stumbled upon this while trying to decide between Flowbite and Preline. I follow the evidence guys... Preline just got caught with their pants down. Thanks for helping me make my decision @zoltanszogyenyi

jahaganiev commented 2 months ago

Well, this was interesting. Stumbled upon this while trying to decide between Flowbite and Preline. I follow the evidence guys... Preline just got caught with their pants down. Thanks for helping me make my decision @zoltanszogyenyi

Indeed, thanks to Zoltan for clearing up the issue, and I’m glad to hear that you found what covers your needs.

hieuhuynh93 commented 1 month ago

Well, this was interesting. Stumbled upon this while trying to decide between Flowbite and Preline. I follow the evidence guys... Preline just got caught with their pants down. Thanks for helping me make my decision @zoltanszogyenyi

Be a wise user. Everything has passed a long time ago and there is no conclusion that Preline is at fault in this matter. Each open-source project has its development direction, Preline and Flowbite are both doing it well. Instead of choosing between them, why not use both? I used to use Flowbite components and Preline plugins, a perfect combination. Good job @jahaganiev