Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maybe it is about lightheadedness instead of lightness #585

Closed
20 tasks
igr opened this issue Mar 9, 2018 · 8 comments
Closed
20 tasks

Maybe it is about lightheadedness instead of lightness #585

igr opened this issue Mar 9, 2018 · 8 comments

Comments

@igr
Copy link
Member

igr commented Mar 9, 2018

image

Thanx to a Reddit thread I have realized that Jodd simply does not bring value to devs. Of course, this is not the first time people don't see the value of Jodd; I was getting similar responses over time. Usually, people didn't really dig it and were never inclined to try it out; I was hoping that they would change their mind once when they get the Jodd under their fingers. But Jodd obviously never had that little thing that would push common dev to just try it and check if it would make sense. To be fair, I was getting positive feedback too, and that meant a world to me. Maybe too much, so I could not see the reality. And at the end, a framework simply cannot be good enough if only one guy with few awesome supporters stands behind it; not today.

Admitting all this is super hard. I don't want to bother you with my mental and emotional state at this point... It's hard.

Since bringing the value to creative developers is the only drive I had to keep pushing Jodd forward, I have decided that it is time to take my head out of the clouds and do a reality check.

The version 4.2 is going to be released tonight. This is going to be the last version of Jodd - in the form as it is now.

The future of Jodd

The future is uncertain. I am going to write down my thoughts:

  • split the modules into separate projects, each having independent version and lifecycle, using semver.
  • jodd-core would be significantly reduced. Any tool that already exists in similar form in some other library would be removed. JDateTime, Printf, caches, crypto algorithms, various utils would be removed, for example.
  • jodd-bean would be merged with jodd-core as those two are used by commonly together.
  • jodd-db remove (use hibernate or similar)
  • jodd-decora remove (dont know alternative)
  • jodd-htmlstapler remove (dont know alternative)
  • jodd-http remove (use OkHttp or AsyncHttp)
  • jodd-joy remove (use spring boot)
  • jodd-json maybe? (use Boon or Javas)
  • jodd-jtx remove
  • jodd-lagarto maybe? (use jsoup)
  • jodd-log remove (use slf4j)
  • jodd-madvoc remove (use spring boot or many others)
  • jodd-mail remove (i guess there is library for this)
  • jodd-petite remove (use spring)
  • jodd-props remove (use json)
  • jodd-proxetta remove (use bytebuddy)
  • jodd-servlet remove (dont use servlets:)
  • jodd-upload remove (use commons)
  • jodd-vtor remove (i guess there are some libs for this)

Wow, after seeing this list, there is not of a much future left in here :)

At least I met some wonderful people along the way. Thank you for your time.

@neroux
Copy link
Contributor

neroux commented Mar 10, 2018

As mentioned in my email, here are my two cents :).

I do not think you need to let yourself be discouraged from a 14(!) postings "long" thread, which - pardon, I do not want to be rude - somewhat smells of youngster "developers" with sticker-covered Macbooks ;) and their "ideas" how the world ought to be.

Jodd is IMHO a wonderful library (not "framework", fortunately!) that packs into an incredibly small amount of space an amount of functionality that usually requires dozens(!) and megabytes of frameworks, libraries, and configuration files. Mind you, in one single file without dependency hell!

Yes, some parts could possibly do with a re-evaluation, for example I havent used JDateTime yet, so I cant make a qualified comparison to java.time, but if the latter truly covers all bases of JDateTime there might be actually a good argument in favour of its deprecation. But that is so far the only valid example from that thread. The others are simply competing libraries. Some of them might be more popular than Jodd, others will have a different set of features, neither of which is a reason though to question Jodd's purpose. Jodd does what it is supposed to do and it does it well IMHO.

A personal example, I have extensively used Jodd's HTTP client and found it very convenient. I'd love to know why I should use OkHttp in what way it would be easier. The same goes for Jerry, jsoup might be a potential replacement but why should I replace Jerry in the first place?

What I could imagine could be an issue is there is no "vibrant" community behind Jodd. Apart from the irregular one-off contributions it mostly is, as you mentioned, a one-man show, where you had to make a lot of decisions on your own without proper feedback. That could have possibly led to a certain frustration on your part (has it? cant tell). You also contributed quite regularly, often refactoring whole architectures in a short time (latest example, the hashing classes) and that might have put you under pressure, maybe without a rewarding result, and you usually try to please people as much as possible. Maybe sometimes the Torvalds approach is not that bad after all 😆.

My opinion is Jodd is mature and stable enough for the time being not to require constant maintenance. By that I do not mean it should never be updated or only once every two years, but rather two, three times a year. That would allow you to shift the focus to other things and might take some pressure off.

My résumé, Jodd could do with a partial (and slow :) ) overhaul in some areas but overall it is far from the situation depicted in that thread and it would be a true loss if Jodd stopped being part of the Java world.

Viva Jodd!


I take the liberty to tag other people who are/were involved in Jodd
@moh-sushi @slandelle @zqq90 @jhult @m-ezzat @vilmospapp

@pmouawad
Copy link

pmouawad commented Mar 10, 2018

Jodd lagarto is used at JMeter and it helps a lot, its performances in the last test I made are better than Jsoup.

Same for jodd-props which adds very interesting features to core java and that we highly use at JMeter.

Don’t be discouraged by people who write blogs/tweets/reddit and blabla but when it comes to writing hard code are just able to pick the last library that is « à la mode » .

If you really quit, I’ll be sad for you but be proud of what you did!

Maybe some pause will help you .

Thanks anyway for your work.

@pmouawad
Copy link

You’ll find similarities with your situation :

@neroux
Copy link
Contributor

neroux commented Mar 10, 2018

Thats a nice one, Philippe, thanks. For English https://en.wikipedia.org/wiki/The_miller,_his_son_and_the_donkey

@igr
Copy link
Member Author

igr commented Mar 11, 2018

First of all, thank you for all the kind words and feedback I got! Every single email and response helped!

Let me clarify:

  • I am making Jodd as I want to build something meaningful and helpful.
  • I believe in open-source. It's not only about the code; it's also about the people you meet on the way.
  • I am not here to be famous, or to replace Spring or to conquer the world.

Some decisions need to be made. Here are some action points:

  • This repo is going to be split into smaller repos. Each repo is going to have its own lifecycle and the version (following the SemVer).
  • Each new repo is going to produce the single artifact. No more modules.
  • Documentation is going to be split and moved to repos. It will exist only on github; I can't afford to maintain the jodd.org.
  • There will be a prioritization in splitting. Some modules, like JSON, Lagarto etc are really used; so they are going to be moved first. Some modules will get frozen - until someone really expresses the value that such repo gives to it.
  • Each new repo will explain WHY it is made and WHY it is different.
  • I will stop pretending there is a company or organized group behind the Jodd :)

I hope this makes sense @moh-sushi @slandelle @zqq90 @jhult @m-ezzat @vilmospapp

@igr igr closed this as completed Mar 13, 2018
@igr
Copy link
Member Author

igr commented Mar 19, 2018

It's back :)

@neroux
Copy link
Contributor

neroux commented Mar 19, 2018

Is there still going to be a bundled release?

@igr
Copy link
Member Author

igr commented Mar 19, 2018

@neroux yes... it happened it would take a lot of time to reorganize everything. So everything stays the same...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment