Ask HN: Which open source projects have kind, supportive, talented teams? - <AUTHOR> Hi HN -
I'm looking to get more involved with open source projects. From your experience, are there any projects that you have been involved with where you are impressed by how kind, supportive, talented, and effective the group of people are that work on the project?
Thanks, Mike <comment><USER2> Elixir and its ecosystem (plug, ecto and phoenix) has been above and beyond every time I've contributed. Helpful, patient and kind, and also very smart guys.

[https://github.com/elixir-lang/elixir](https://github.com/elixir-lang/elixir)

[https://github.com/elixir-lang/plug](https://github.com/elixir-lang/plug)

[https://github.com/elixir-lang/ecto](https://github.com/elixir-lang/ecto)

[https://github.com/phoenixframework/phoenix](https://github.com/phoenixframework/phoenix)

<comment><USER3> Last April I decided to work on open source every day for a month. I saw a gap in the Elixir ecosystem (a driver for RethinkDB) and I just started hacking on it. The help and feedback I've gotten from the community have been fantastic. It's a community where I can tag José (the creator of Elixir) on a github issue for my driver and he'll chime in with very useful feedback. Imagine pinging Guido or Matz about the right way to do connection pooling and them responding. It's a pretty awesome community.

</comment></comment><comment><USER4> Find the projects that speak to you then check in on the communities. Contributing to open source is first and foremost _work_. A community can turn you off from participating, but the motivation to contribute only comes from the product.

And you might be surprised at the difference between what it's like to contribute to any random project compared to what a "news" blogger that needs to generate hits wants you to think the average project is like.

<comment><USER5> This is really the correct answer: Why do you want to participate in an open- source project in the first place?

If it's to gain brownie points for your CV, it's quite likely that you'll get nowhere, because that's a motivation right along with "earn money".

The difference to just getting a random software development _job_ for earning money is that at the random job, you will be in a team where tasks will naturally flow towards you. In a random open source project, this will not be the case. So most people will not stick with it _unless_ they have a better motivation for contributing to the project in the first place.

So try to find a project that you find interesting _first_. You should actually be able to find many of those if you're into software development, and then take a look at the communities yourself.

<comment><USER6> This, so much this.

Working on Open Source absolutely requires individual contributors to be self- starting. New contributors who lack drive require constant direction and/or hand-holding, undermining the time/effort commitment of existing contributors.

Most Open Source projects invest a lot of time/effort coaching new contributors. If a new contributor receives the coaching but doesn't produce anything useful; it's a net loss for the project, users, and community.

I always tell people who want to start contributing to OSS to start with simple/easy tasks like documentation updates. It minimizes the negative impact of poor quality contributions and allows existing devs to identify and correct workflow inconsistencies during peer review.

The other growing pain is new contributors who bring their 'ideas' but put zero effort toward contributing. 'Ideas' are like assholes, meaning everybody has one. They're not particularly useful unless there's a person ready/willing to implement them. Even then, a new idea may not follow the intent of the project and/or its culture.

Endlessly discussing the 'future possibilities' of a project is extremely counterproductive and distracting to existing developers.

<comment><USER7> I have somewhat different perspectives on "ideas". People discuss ideas first because if they do the implementation first, there is a large risk of wasted effort because it "may not follow the intent of the project". Discussion is in part effort to divine the intent of the project.

As a concrete example, I implemented break and continue for OCaml compiler because having for loop without break/continue seems to me obviously a bad idea. Although I learned a lot about OCaml compiler internals, this went nowhere. I learned my lesson, and now I will certainly "endlessly discuss" possibilities of break/continue first, without writing a single line of code. In my opinion, berating people for this is placing undue burden on contributors.

[http://caml.inria.fr/pub/ml-archives/caml- list/2008/04/ce14d...](http://caml.inria.fr/pub/ml-archives/caml- list/2008/04/ce14ded0e6767696945a1aa95576dac0.en.html)

<comment><USER6> An idea followed by an implementation is awesome and exactly what OSS projects need from contributors.

"I learned my lesson..."

I read the mailing list and don't see how that was a negative experience. Only one of the contributors had an unfavorable response.

Even if they don't implement your code as-is, it looks like you had a good idea including a good implementation that led to a lot of productive discussion.

Only one of the contributors had a strong objection and despite that, the conversation continued.

Don't take it personal if your code isn't directly incorporated into a project. Despite that, your contribution led to further discussion and helped better focus the intent of the project.

Working on an OSS project is very much about collaboration. Code contributions may not always be incorporated into the codebase, especially on projects like ocaml that have a specific focus and changes have far-reaching impacts on the userbase.

That's not a bad thing. You did well.

<comment><USER6> :cringe: Apparently I, need to expand the comment text field and re-read my comments before posting. Hopefully, you could infer my meaning from the word vomit.

</comment></comment></comment></comment></comment></comment><comment><USER8> To answer the question asked: I've been on the LLVM mailing list for a few months now, and been highly impressed both by the technical quality of the project and by the competence and supportiveness of the people involved.

To address a meta-question: I disagree with the people who claim that you shouldn't contribute to a project for any reason other than intrinsic interest in the product itself. Most people, after all, work for extrinsic reasons; it's a normal part of life. There is nothing wrong with contributing to an open source project to improve your programming skills, boost your resume or pay some of your karmic debt to your species for the gift of your life. These are all valid reasons, and all are flexible regarding the specific nature of the project.

<comment><USER9> I guess the flip side of "don't contribute to a project unless you are intrinsically interested in it" is "don't contribute to a project you aren't interested in unless you are capable of significantly helping it."

Someone inexperienced but strongly interested in a project can be taught to be useful. And a knowledgeable resume-padder can very well spearhead useful changes. But if you are both uninterested in the project and incapable of helping it, you're more likely to hurt the project than help it. And, sorry to say, but if you don't know where to help, then you're most likely on the "not imminently useful" side and should be looking for things you're legitimately passionate about instead of wasting peoples' time.

EDIT: Does anyone remember an article or comment from a few weeks ago about how many open source projects tend to lose their focus and become more about justifying the existence of a social group than achieving a goal? It seems kinda relevant to me.

<comment><USER10> Another interesting aspect is someone may not realize they're interested in a project until they've spent sometime in the code.

<comment><USER11> That's a great point. I wonder if anybody has curated a list of projects that are good for _learning_ how to work on software. As opposed to perhaps a broader list of projects that are simply good communities.

</comment></comment></comment></comment><comment><USER12> Have you heard of Mozilla? [http://mozilla.org](http://mozilla.org)

I'm a Mozillian myself and I can tell you I wouldn't have been one if the community wouldn't have showed me such a great and kind support since the first minute I decided to step in a introduce myself. Plus we breathe OSS and have multiple talents of every kind.

Mozilla works serving, promoting and protecting the Open Web, and provides the tools to do so by ourselves. Firefox is -mostly- a community effort, with translators, designers, and coders from all around the world.

If you decide to join, feel free to say Hi in the forums of the community: [https://discourse.mozilla-community.org/](https://discourse.mozilla- community.org/)

<comment><USER13> Just be careful if you don't share their political views. They just might go digging through everything you've ever said and every cause you've ever donated to and start a witch hunt. Even if you invented Javascript.

<comment><USER14> A litmus test of a great community is how they deal with people who are technically useful but socially reprehensible.

<comment><USER13> That's an awfully strong judgment to make on the sole basis of a $1000 donation to a popular cause (one that won the election, no less). It's not like he was a leader of the anti- gay-marriage movement. If he didn't bring his politics to work, there was no good reason for anyone else to. There's no evidence that his views on gay marriage affected how he treated anyone at Mozilla. Not a single complaint as far as I've heard, and I'm sure that he interacted with a lot of people given that he was a co-founder of Mozilla.

Magnanimity in victory is a virtue for a democratic society. Do you really think that it's good to have political witch hunts every time the winds change on a social issue?

<comment><USER15> > Magnanimity in victory is a virtue for a democratic society.

The word for this used to be "tolerance".

<comment><USER16> Which has limits: [https://en.wikipedia.org/wiki/Paradox_of_tolerance](https://en.wikipedia.org/wiki/Paradox_of_tolerance)

<comment><USER15> Was Eich intolerant? Or were his views just unpopular? I haven't seen any evidence of intolerance from his side of things.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Getting involved with open source should likely not be done of how a community is, but rather because you love the product itself, and want to make it better. If the community is nice, that's a huge plus, but in my opinion it should not really be a deciding factor unless the community is outright hostile.

Just try to ask in general, see applications you use frequently: Desktop, web, and browser based. Programming languages, and websites you find yourself in frequently. See if any of those are open source, and then send the author(s) an email, ask if they accept contributions.

Do make sure to ask, I've had cases where I asked an author if they accepted PRs in general, and the response was "I'm sorry no, I would much rather maintain full control over the codebase", which is perfectly fine, in general, find something you are passionate about, and then try to help.

I would really advise against starting open source contributions just for the sake of contributing to open source.

When you go into a project the existing contributors will likely have to spend time, and effort grooming you into someone who can properly navigate the code base, in my experience people who join a project just for the sake of joining something, or because they want to have "Contribute to Open software in my free time" in their resume tend to drop out pretty frequently, and it's just painful for all parties involved.

</comment><comment><USER18> Drupal's community is what got me into OSS, even though the language (PHP) community seems to be at a strange crossroads currently.

I've also been somewhat involved in Ansible's community, and it's been nothing but a positive experience so far.

It's interesting to compare some of the different communities; some seem to value technical competence over diversity, some UX over architecture, etc. It's probably easiest to dip your toes in the water and just make sure you can get help early on—jump into IRC or forums and see how people react to some initial questions you have about the project.

<comment><USER19> As a counter-point: I've found it impossible to penetrate the Drupal community. I have filed several tickets over the years, including patches, which have often gone entirely without comment for sometimes months. Including a bug report and patch against a core include file. IRC is _sometimes_ helpful, but usually not. In my experience, it's just _really_ hard to get any questions answered or bugs fixed in Drupal.

<comment><USER20> I initially liked my experience with the Drupal community.

One of the things that drove me away (5+ years ago), beyond the direction the project took around Drupal 6 [1], was being stuck on Drupal.org for development.

In 2009, GitHub already offered everything the community would need, but instead developers were stuck with (poorly) custom made solutions. Last time I checked, it was still the case.

[1]: [http://teddy.fr/2013/01/25/dropping-the- drop/](http://teddy.fr/2013/01/25/dropping-the-drop/)

<comment><USER19> I have always had a mixed experience, and I think I mostly agree with that blog post, for the most part. I know our most recent migration to Drupal 7 (still ongoing, about a year after I started working on it in my spare time; it's the most painful migration I've ever worked on, including migrations across CMS and languages...this particular site has been migrated from OpenACS->Joomla->Drupal 6, all of those jumps were faster and easier than the jump to Drupal 7).

I'm very uncomfortable with the direction of Drupal (the willingness to break backward compatibility without credible paths forward for users being the most painful for me). I've always assumed mostly it's due to my own ignorance, but this blog post confirms some of that discomfort is not just me not knowing what's going on. There's been a big move of putting things into the database that once resided in code, and this makes it really challenging to figure out how anything works. The abstraction runs really, really, deep, almost absurdly so. Trying to figure out what makes a page happen is an exercise in frustration a lot of the time, as it has pieces that are in code, pieces that are in Views, and pieces that come from other mysterious locations (there's stuff that I just assume will always remain beyond my kin).

Drupal 8 seems to be further down that path. Certainly there are improvements, but it just requires so much knowledge to even begin to work on anything in Drupal that it's incredibly frustrating for someone that dips in every week or so, to add new functionality or fix a bug on my company website.

Earlier in this migration, and at several stages along the way, I've assessed whether I could move our site to something else with less effort and end up with something nicer (both for users and to maintain). I opted not to at several points along the path, but I'm still not convinced that was a wise choice, even as close as I am now to launching a D7 version. Frankly, I dread working on the damned thing. It's just not fun.

As for github, I don't actually blame an OSS project for not wanting to move into a proprietary source hosting platform. I have uneasy feelings about my own projects being hosted there, and plan to work on a gitlab or Phabricator or something else deployment eventually, so we are not beholden to a proprietary third party (github is a great product and they seem like great people, but so was SourceForge at one time).

Anyway, if there were some other thing (I don't like using the term CMS, because people often assume I'm wanting a CMS...when "content management" is effectively 0% of my use case for Drupal) that had integrated forums, ticket tracker, shopping cart with subscriptions and licensing, and a way to manage docs, and it didn't require mountains of custom code, I would have already moved away from Drupal. I've considered building something custom with a framework, but this isn't my core competency or interest; I just want to put some pieces together and sell and support the software I do want to work on full-time.

<comment><USER21> after almost a decade building everything with Drupal, i realized that only one site (a community blogging site) really benefitted from it.

From what I've seen of D8 it is going to be so different that it will almost certainly be cheaper to rewrite it in a simpler way (something like laravel for instance) than attempt the migration. For all but the most trivial sites, that is.

*edit: Oh, and are you aware of backdropcms? it is a fork of drupal 6 that is maintained.

[https://backdropcms.org/](https://backdropcms.org/)

<comment><USER22> Spent too many hours with drupal over the years and I will stick with it, D8 has similar interfaces with D7 though the framework is totally revamped.

I also failed to find a good alternative, tried many but always came back to Drupal

</comment></comment></comment></comment></comment></comment><comment><USER23> React. I'm constantly impressed by Ben Alpert's[1] patience and response time and ability to answer questions all over the internet.

1\. [http://stackoverflow.com/tags/reactjs/topusers](http://stackoverflow.com/tags/reactjs/topusers)

<comment><USER24> I appreciate you saying that. Thank you.

<comment><USER25> How do you do this?

<comment><USER24> I try to be helpful whenever I have a chance. When I first adopted React, my coworkers were frustrated that whenever they Googled for errors they didn't find anything, so I committed myself to writing answers to all the reactjs questions on Stack Overflow for a few months. I do my best to be helpful when responding to issues too -- though I've had less time to spend on maintaining our GitHub repo lately and consequently been less helpful.

</comment></comment></comment></comment><comment><USER26> The reasoning behind that question doesn't make any sense. The idea of contributing to a project that you're not personally interested in, solely based on an external reason seems wrong to me. That's true for-pay software development, but is even more true when it comes to open source development.

I think you'd be a lot better off looking at projects you are currently using, or in areas that are interesting to you, and hanging out in their IRC channels, reading their mailing lists for a while, checking their bug tracker, and tinkering with their code.

At the very least, you should clarify how you want to help out, what you're interested in doing, and what your skill set is.

The way it's phrased right now, you'd get more meaningful answers just randomly clicking projects on GitHub.

</comment><comment><USER27> PostgreSQL (I've always been hugely impressed by the team, though not myself a contributor).

<comment><USER28> +1 for Postgres. It's one of the most awesome OSS project: great development team, community, large codebase (which is well organized and very modular), has a very good code and end-user documentation, always working with a significant number of important computer science problems and concepts (ranging from easy to very complex ones).

[Disclosure: I'm not a Postgres contributor myself. In the past, I had been working on Postgres core and related projects at EnterpriseDB (a Postgres company) for 5+ years].

</comment></comment><comment><USER29> I'm the lead for LXQt, the Qt-based desktop environment: [http://lxqt.org/](http://lxqt.org/)

I'm very happy to say that everyone on our team is kind and supportive. I'm also happy to say this is not a unique trait of our team, it's something you'll see in a lot of open source projects.

Feel free to shoot me an email (in my profile) if you're interested in LXQt.

<comment><USER30> Hey nice, a new release, I was getting worried that the project was going down.

<comment><USER29> Nope, we're still active, but we're suffering from manpower shortage ;)

</comment></comment></comment><comment><USER31> The JuliaOpt / JuMP (Julia for Mathematical Programming) team has been responsive and supportive. When I file a Github issue at a random hour, they respond in minutes. The quality of code and testing is outstanding, and frankly for a project started in academia that's rare. In the dynamic world of pre-1.0 Julia, they've set the standard for 3rd party libraries, accommodated deprecations from the language immediately as versions change, and overall driven the advancement of scientific computing.

[https://github.com/juliaopt/jump.jl](https://github.com/juliaopt/jump.jl)

Edit: Here's a great example of the JuMP team debugging somebody's particular script, running it, and benchmarking it - all because somebody filed a Github issue. [https://github.com/JuliaOpt/JuMP.jl/issues/614](https://github.com/JuliaOpt/JuMP.jl/issues/614)

</comment><comment><USER32> Rust has a great community: [https://www.rust-lang.org](https://www.rust- lang.org)

<comment><USER33> I thought Rust's community is infamously ultra-polticized and prone to witch hunts?

<comment><USER32> Any example of this?

<comment><USER15> Perhaps that was a broader comment about Mozilla?

<comment><USER32> Not sure. I didn't notice any witch hunts there.

</comment></comment></comment></comment></comment><comment><USER34> Rust is generally awesome.

<comment><USER35> Rust's IRC channel is amazing - supportive, thoughtful, and non-condescending. This is in sharp contrast to the Go one, which is an absolute cesspit.

<comment><USER36> Thankfully (but still unfortunately), the Go community Slack does a great job of replacing the IRC channel with more civilized/productive discussion.

The IRC channel, like many, is often not a friendly place.

<comment><USER7> If this is the case, I think Go people should remove IRC and add Slack from this page: [https://golang.org/help/](https://golang.org/help/)

<comment><USER37> No! No more slack!

* Rocketchat * Gitter * Let's Chat [https://github.com/sdelements/lets-chat](https://github.com/sdelements/lets-chat) * Baloons [https://github.com/rickyrauch/Balloons.IO](https://github.com/rickyrauch/Balloons.IO) * Friends [https://github.com/moose-team/friends](https://github.com/moose-team/friends) * Chats [https://github.com/acani/Chats](https://github.com/acani/Chats) * HackChat [https://github.com/AndrewBelt/hack.chat](https://github.com/AndrewBelt/hack.chat) * Jabbr [https://github.com/JabbR/JabbR](https://github.com/JabbR/JabbR) * qTox [https://github.com/tux3/qTox](https://github.com/tux3/qTox) * TorChat [https://github.com/prof7bit/TorChat](https://github.com/prof7bit/TorChat)

I bet that they can be just as friendly using an open source application on golang-based kubernetes clusters.

</comment></comment></comment></comment></comment><comment><USER38> I've made small code contributions to Firefox and Servo, both Mozilla projects, and I have nothing but good things to say about everyone involved with the two projects. As a newcomer to both, the respective teams were very welcoming, helpful, and most of all, patient especially during the review process.

</comment><comment><USER39> The ZeroMQ community is incredibly supportive towards newcomers and existing members alike. And ofcourse the people of the community are really smart, because you dont build a scalable and lightweight (and popular) messaging framework unless you are smart.

I have pitched in with a few (simple) commits once in a while and am looking to contribute more regularly.

Here's all the code: [http://github.com/zeromq/](http://github.com/zeromq/)

And a very comprehensive guide: [http://zguide.zeromq.org/page:all](http://zguide.zeromq.org/page:all)

And, the contribution process followed is known as C4: [http://rfc.zeromq.org/spec:22](http://rfc.zeromq.org/spec:22)

You can get in touch via IRC, which is #zeromq on irc.freenode.net ; Try to linger around after asking your questions, and someone would eventually respond.

You may also send in your queries to the ZeroMQ mailing list. ([http://lists.zeromq.org/mailman/listinfo/zeromq- dev](http://lists.zeromq.org/mailman/listinfo/zeromq-dev))

Some of us also hang out in the #zeromq channel in the Slack group for Golang: [http://gophers.slack.com/](http://gophers.slack.com/)

</comment><comment><USER40> I've contributed to a few Python projects, and the experience I had with the IPython and beets groups both stand out in my mind as very friendly. The patch I contributed to IPython was vanishingly trivial. It removed an unnecessary function call in a code path that wasn't even performance-sensitive (I just stumbled on it when looking into a more complex issue). I would have understood if the patch just lingered without being looked at for ages. It didn't address an existing issue, didn't impact the correctness of the code, and barely had any consequence to performance. But, it was quickly reviewed and accepted and the maintainers were thankful to have my contribution. I was very pleasantly surprised, and will certainly consider contributing to their project again when I have time. Likewise, I ran into a bug in the beets MP3 tagging/collection manager and was able to report the issue, discuss it with the author and other contributors to determine the preferred way to handle the situation, create a new unit test and fix, and get it accepted all within a couple of days. Everyone I spoke with was very inviting and helpful. I hope to be able to help them again in the future as well!

</comment><comment><USER41> The Perl 6 development team is generally good-natured and work to be pleasant to each other and newcomers. [http://perl6.org/](http://perl6.org/)

<comment><USER19> The Perl community, in general, has always been extremely friendly and welcoming. That seems to carry over to Perl 6. I can't think of any time I was unable to get guidance quickly via a variety of channels; Perl Monks, IRC, etc. are good places to go. Filing issues about CPAN modules can be a somewhat less satisfying thing (depends very much on the author), but usually also results in something good happening.

</comment></comment><comment><USER42> Apache Tinkerpop: [https://tinkerpop.incubator.apache.org](https://tinkerpop.incubator.apache.org)

The TinkerPop project is thoroughly documented, questions in the user groups are answered fast, and the R&D keeps pushing the space forward. For example, check out this new paper by Marko Rodriguez (TinkerPop founder and creator of the Gremlin graph programming language):

"Quantum Walks with Gremlin" [http://arxiv.org/pdf/1511.06278v1.pdf](http://arxiv.org/pdf/1511.06278v1.pdf)

Here's a quote from a community member:

      Something like 13 yrs ago, I was trying to do server-side Java.  It
      was a nightmare, until I discovered a thing called Apache JServ.

      It was simple, elegant and the developer group was wonderfully
      supportive and well organized.

      Just as with JServ, way back then, Tinkerpop has all the same
      characteristics, and gives me the same feeling of having hit on
      something really valuable that will take me a long way.

      Well ...  JServ morphed into TomCat, and I've used it consistently
      ever since.  I'm confident Tinkerpop is going the same way, so I'm
      only too pleased to help where I can.

      Sincerest regards,
      Hasan

Source: [https://groups.google.com/d/msg/gremlin- users/pF577035UpY/M7...](https://groups.google.com/d/msg/gremlin- users/pF577035UpY/M7t9uIiIOtIJ)

Disclaimer: I am a TinkerPop contributor.

</comment><comment><USER43> Off the top of my head:

        Ansible
        FLTK
        SCons (when I used it. I wouldn't recommend the project, but I do recommend the community)
        Nim
        Python
        ffmpeg (mostly supportive, but expect you to be mannered too)

</comment><comment><USER44> The open source project that needs you are the very ones that are unkind, not supportive with less talented teams. Someone needs to join them and lead, to show kindness, to teach how to be supportive of newbies, and to bring talent.

<comment><USER45> That sounds nice, but in practice it is likely to be an exercise in futility and frustration.

<comment><USER46> Agree to some extent, but it depends on the team though.

From what I've seen there are many projects that aren't _kind_ , but they aren't too unkind either. Or if they are unkind, it's not by conscious choice -- just what happens when you get people coming from other unkind projects. Not people who _want_ the project to be unkind, mind you, just people who are used to that and okay with it.

Such projects can benefit a lot from a few empathetic community members.

<comment><USER45> From what I've seen of you in the Rust community, you might be one of the people who has the chops to actually make a large positive impact on a project's community. But for me, at least right now, without practicing a bunch, I think it would be futile and frustrating, and I suspect most people are in that boat.

<comment><USER46> :)

Yeah, I'm not suggesting that anyone throw themselves into a toxic environment with the goal of fixing things. I'm not one of those people either (but I have tremendous respect for those who are). Just saying that it's not a dichotomy -- there's a lot of space in between kind and unkind for communities which are tolerable and can be improved. YMMV though :)

</comment></comment></comment></comment></comment><comment><USER47> Can't recommend [http://www.onyxplatform.org/](http://www.onyxplatform.org/) highly enough. Tight core of extremely talented and passionate engineers who are working on an exciting project in a more exciting space.

<comment><USER48> Onyx really simplifies the idea of data processing. I would recommend anyone using it, since we can integrate with another storage, and processing engine easily :)

</comment></comment><comment><USER49> I've always found the Haskell community very helpful and willing to go to great lengths to explain complicated concepts to newcomers.

<comment><USER40> I would definitely second this. I have never contributed to a Haskell project, so didn't mention it in my main reply, but I was nothing short of astonished and humbled by my experience with the Haskell community when I was learning it. I've never encountered any other community that was so welcoming and willing to bend over backwards for newbies. I honestly felt a little bit bad. I grew up online, and I consider myself skilled at integrating with established communities, being polite and reserved and not expecting to be accorded unearned respect and the like. But after just asking a couple questions in the Haskell IRC channel, I found people willing to have extended in-depth discussions with me even though I was a total unknown. I didn't feel deserving of such an investment of their time and I have never come across it before or since. I consider the Python community to be excellent in my experience, but Haskell is truly god-level tier. They changed what I even thought was possible for a programming language community.

</comment></comment><comment><USER50> Visit [https://openhatch.org/](https://openhatch.org/) \-- they exist to match people with good open source projects. Good luck!

<comment><USER51> FWIW, I've tried to find interesting things through this page a few times and have utterly failed. Maybe I'm missing something, but the search feature is a bad aggregator of issue trackers, without useful filtering or pre-selection.

</comment></comment><comment><USER52> I would encourage you to check out OpenStack[1]. As a community we are trying really hard to be welcoming and helpful to new contributors.

[1][http://docs.openstack.org/contributor- guide/index.html](http://docs.openstack.org/contributor-guide/index.html)

</comment><comment><USER53> [https://github.com/syl20bnr/spacemacs](https://github.com/syl20bnr/spacemacs)

Great community, has a very friendly Gitter chat room where people collaborate, very nice maintainer as well.

<comment><USER54> syl20bnr bristles too easily at any criticism of the project though. I think he would do better ignoring reddit &c entirely instead of acting as PR manager.

</comment></comment><comment><USER55> Nightscout. Software for people with and affected by Type 1 diabetes by people with and affected by Type 1 diabetes. [https://github.com/nightscout](https://github.com/nightscout)

</comment><comment><USER56> TeX Live [https://www.tug.org/texlive/](https://www.tug.org/texlive/) people are awesome, the output is very widely used, and here for the long haul.

</comment><comment><USER57> I'm biased, but I'll say some stuff I work on and stuff that is general integrated into the openstack (and greater python) ecosystem(s) (each project in openstack IMHO has its own culture, so you may need to explore to find a match for you).

[http://docs.openstack.org/developer/taskflow/](http://docs.openstack.org/developer/taskflow/)

[http://docs.openstack.org/developer/tooz/](http://docs.openstack.org/developer/tooz/)

Any of the other libraries on:

[https://wiki.openstack.org/wiki/Oslo](https://wiki.openstack.org/wiki/Oslo)

We (myself and the rest of the oslo team) try to be friendly folks so feel free to drop by on freenode at the #openstack-oslo channel.

Other openstack projects:

[http://governance.openstack.org/reference/projects/index.htm...](http://governance.openstack.org/reference/projects/index.html)

</comment><comment><USER58> The open source world is flouring in 2015.

There is no shortage of amazing teams working on amazing projects on the web.

Its hard to single out just one of them - so its best if we could know more about your background.

If you are unable to find anything that is good enough then just start your own !

Do not be be demotivated - as long as you find it useful - someone else somewhere will also find it useful.

Even simple logging libraries have their audience.

So good luck !

</comment><comment><USER59> From my (limited) experience, I've been impressed wherever I interacted with developers of: python-requests, salt, rust.

</comment><comment><USER60> The people working on the redox project have been awesome the times I have interacted with them and can always use additional hands. Everyone there seems to buy into the common goal idea. [https://github.com/redox- os](https://github.com/redox-os)

</comment><comment><USER61> Neo4j welcomes direct and indirect(drivers, frameworks, examples) contributors with open arms. Lots of our employees were community members first.

</comment><comment><USER62> I'm the tech evangelist at Zalando and co-organize our Open Source Guild. Our engineers fit your criteria and would be open to your contributions:

[https://github.com/zalando](https://github.com/zalando)

[https://github.com/zalando-stups](https://github.com/zalando-stups)

We have projects in Go, Clojure, Python, Scala, Java ...

I'm a beginner-level coder and my colleagues have been extremely supportive, staying late to teach me JavaScript and reviewing my Python. Let us know if you end up contributing: @zalandotech. :)

</comment><comment><USER63> [https://github.com/nylas/N1](https://github.com/nylas/N1)

I really do enjoy the Nylas team and are well receiving of any issues I find or any support I need developing a plugin.

<comment><USER64> Yes, I second this.

</comment></comment><comment><USER65> Rust language! One of the most supportive groups I've ever been involved with.

</comment><comment><USER66> Right now ReactOS is doing better because they used Indiegogo funding to hire better developers: [http://community.reactos.org/index.php/news/years- progress-t...](http://community.reactos.org/index.php/news/years-progress-the- shell)

I tried to post a link to ReactOS via submit to find out I got the "Whoa you're submitting too fast" message, so I lost submit privileges somehow. I apologize if I submitted anything wrong.

Creating a free and open source alternative to Windows that uses Windows apps and Drivers, one that isn't based on Linux is really hard and need really talented people to keep compatibility with Windows.

I think when their 0.4 release is available, it will do better than the 0.3 releases. With Windows 10 giving people privacy concerns there needs to be an alternative that runs Windows apps to compete with Windows that uses Windows drivers.

They just got Steam to work with it and if they get some of the Dotnet libraries and DirectX to run some of the video games, they can put a dent into Microsoft Windows usage.

[https://www.reactos.org/forum/viewtopic.php?p=114980#p114980](https://www.reactos.org/forum/viewtopic.php?p=114980#p114980)

Yeah I know can run WINE with Linux, but ReactOS is targeted at people who can't figure out Linux but want a Windows type OS.

</comment><comment><USER67> Why not start contribute to Mozilla?

[https://mozilla.org/en-US/contribute/](https://mozilla.org/en-US/contribute/)

<comment><USER68> I think fixing easy bugs are the easiest way to get around and interact.

[https://bugzil.la/sw:%22%5Bgood%20first%20bug%5D%22&limit=0](https://bugzil.la/sw:%22%5Bgood%20first%20bug%5D%22&limit=0)

</comment></comment><comment><USER69> I've always enjoyed contributing to the Debian community.

<comment><USER22> correct, debian really should be on the top here.

</comment></comment><comment><USER70> Qt and Qt3D. I haven't contributed as much to Qt as I've wanted to, but the little I did was met with support and great mentoring. They are a very talented group.

If you're interested in physics, mathematics or other sciences, I'd recommend SciPy. I attended one of their conferences and met many really nice, kind and talented people. (Open Source conferences and meet-ups are a great way to get to know people and kick-starting contributions.)

</comment><comment><USER71> I've found that OS communities have largely come a LONG ways over the last few years. Most are helpful and are full of smart, nice people. That said, there are always going to be a few less than cordial people in every crowd.

When picking an OS project to get involved in, there are only two suggestions I have:

1\. Make sure there's a fair sized community behind it with > 1 committer (not much worse than getting involved with a project that just dies) 2\. Make sure it's something that's going to hold your attention for a good while and it's something you're passionate about. Generally, contributing to OS projects isn't really a fly by night thing (of course depending on the level of involvement you're looking for). If you get involved with a project that has a great community but isn't something you're actually passionate about, chances of long term involvement aren't really high.

From personal experience, the Python community has been the most enjoyable for me to date. Filled with academics and hackers, scientists and CRUD so developers, I have yet to see another community filled with such diversity from which comes intelligent, positive discussion and results.

</comment><comment><USER72> You could try mine :)

[https://github.com/ianmiell/shutit/blob/master/README.md](https://github.com/ianmiell/shutit/blob/master/README.md)

[https://github.com/ianmiell/shutit/blob/master/README.md#con...](https://github.com/ianmiell/shutit/blob/master/README.md#contributing)

</comment><comment><USER73> It's hard to just "pick a project" and start contributing. You need a little bit of passion, excitement, or just plain need. Look at the tools that you already use and depend on and start there.

Odds are you know how to set them up, configure a few things, and the like. In most cases, a few pull requests to the docs are not just welcome but greatly appreciated.

(I've been managing projects since 2007 and participating since 2001.)

</comment><comment><USER37> Awesome open source crews:

* Rancher - [https://github.com/rancher](https://github.com/rancher) * Weave - [https://github.com/weave.works](https://github.com/weave.works) * OpenStack (IRC) - irc.freenode.net #openstack * Kubernetes - [https://github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) * Docker - [https://github.com/docker](https://github.com/docker) * EmileVague - [https://github.com/EmileVauge/traefik](https://github.com/EmileVauge/traefik) * Enspiral - enspiral.com * MetaMaps - metamaps.cc

....That's an incomplete list of projects whose teams have put up with me, and even gone so far as to ask for more. I've worked in OSS for a little over a year now, and I can heartily say that I haven't regretted the decision once.

</comment><comment><USER74> I've been impressed with working on [syncthing][]. The team is very open to discuss anything that comes up, which makes it easier for me to tackle things.

I've also been impressed with the user experience of the product. Installation and configuration was much easier than I expected, and then it just runs!

[syncthing]: [https://syncthing.net/](https://syncthing.net/)

</comment><comment><USER75> Epic's Unreal Engine 4 team and the community around it is an amazing kind, supportive, friendly and talented group of people.

[http://unrealengine.com/](http://unrealengine.com/)

Its one of the reasons I got back into game dev and chose to use this engine.

The engine itself is state-of-the-art and the improvements per each release is AWESOME.

As the engine is a commercial offering that is open source, there are a lot of people involved. This makes it easier for new people to get onboard. They twitch on a biweekly basis [http://twitch.tv/unrealengine/](http://twitch.tv/unrealengine/)

Have a look at the last two release notes for an example of what they get up too.

[https://www.unrealengine.com/blog/unreal- engine-49-released](https://www.unrealengine.com/blog/unreal- engine-49-released)

[https://www.unrealengine.com/blog/unreal- engine-4-10-release...](https://www.unrealengine.com/blog/unreal- engine-4-10-released)

If I recall correctly, 4.11 is more a stability release then feature release. It is the release currently being developed. Check out the Trello board to see what features are being developed where

[https://trello.com/b/gHooNW9I/ue4-roadmap](https://trello.com/b/gHooNW9I/ue4-roadmap)

I'd advise to sign up for an account, link your github account, have a look through and join the forums.

I've got the same account name on there if you have any questions.

<comment><USER69> Is Unreal Engine really open source? Doesn't look like it to me.

[https://www.unrealengine.com/eula](https://www.unrealengine.com/eula)

<comment><USER75> Yes it is open source, but not libre / free. i.e: not GPL / BSD / MIT style etc...

If you want to view and modify the code you can.

So it is open in that sense.

<comment><USER76> I think the pithy phrase you were looking for was "It's open source, but not Free Software.". :)

<comment><USER69> No, it is more like "The source code is available if you register but it is not Open Source and not Free Software".

<comment><USER76> Is the source code package you receive complete?

If it is, then you _must_ remember that sending a snail-mail request to get a snail-mailed set of disks in return, _and_ being required to send the money required to cover the cost of making a copy of the disks _along_ with your request is a 100% permitted way to fulfil the source code distribution requirement of the GPLv2.

<comment><USER69> I haven't received the source code package and don't intend to do that.

The license on the Unreal Engine source code is not GPLv2, it is a EULA that does not meet the Open Source Definition.

[https://www.unrealengine.com/eula](https://www.unrealengine.com/eula) [https://opensource.org/osd](https://opensource.org/osd)

<comment><USER76> > The license on the Unreal Engine source code is not GPLv2...

I'm aware of that. I was making you aware that one of the canonical Free Software and Open Source licenses permits the source code provider to require requesters to use a rather inconvenient request method _and_ cover the provider's actual duplication costs. This means that putting source code behind a free-of-charge authorization wall would still be 100% in compliance with the GPLv2's source code distribution requirement.

> ...it is a EULA that does not meet the Open Source Definition.

That doesn't make Unreal Engine closed source. Unreal Engine is open source. It just does not fit under the umbrella of _ESR 's_ Open Source philosophy.

Much ink was spilled decades ago about how shitty it was of ESR to name his philosophy in such a confusing way. I expect that we'll never be rid of the confusion.

It even got _you_ confused! Notice how -in my reply to richardboegli- [0] I write "Free Software" with leading capitals (indicating that I mean libre software, rather than gratis software), but I do _not_ write "open source" with leading capitals (indicating that I mean that the source code is available, but that it does _not_ necessarily adhere to ESR's Open Source philosophy).

Make sense?

If my argument was not convincing, please do me the favor of answering the following question: "What is the English phrase that describes the opposite of 'closed source software', (that is, software whose source code is available for perusal, rather than software whose code is not)?".

[0] [https://news.ycombinator.com/item?id=10643807](https://news.ycombinator.com/item?id=10643807)

<comment><USER69> Thanks for the explanations, that explains your GPLv2 post well.

As far as I know there is no phrase that describes software whose source code has been intentionally publicly released under a license that doesn't meet the OSD/etc. I definitely wouldn't take the lower-case "open source" as meaning that. Perhaps "proprietary public source code"?

<comment><USER76> > As far as I know there is no phrase that describes software whose source > code has been intentionally publicly released under a license that doesn't > meet the OSD/etc.

Were you -perhaps- born in the 1990's or later? As I remember it, "open source" was commonly used to describe programs that were not "closed source". Additionally, I expect that if we were to ask a few thousand native English speakers either "What is the opposite of closed?" or "What is closed's antonym?", the overwhelming majority of them would reply "open".

I get that you don't want to concede the point, and that you _might_ feel that acknowledging the validity and reasonableness of my position would serve to weaken your own position. However -in truth- this _strengthens_ your assertions, as it indicates that you've put thought and consideration into your positions, and -crucially- are willing to revise your view of the world when it becomes clear that your view doesn't match reality.

Twitter "loves" zealots. [0] Most reasonable people don't.

[0] Note that a zealot is different from a hard-liner. RMS is a hard-liner who has put a lot of thought and consideration into his positions. A member of $SOCIAL_MOVEMENT who primarily interacts with the movement by frothing about it on $SOCIAL_MEDIA is a zealot.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER77> I think the SocketCluster community meets this description (I'm the main author). Especially on the kind/supportive side. It's relatively small (about 60 people in our chat group), we are not supported by VC funding of any kind so everyone is just doing it for fun (and to please the community). Based on the experience I've had using Gitter (chat) to get assistance on other projects, I'd say our helping/chat culture is among the best.

Also if you have a truly good idea, it will be heard and implemented.

Website: [http://socketcluster.io/](http://socketcluster.io/)

Gitter (chat): [https://gitter.im/SocketCluster/socketcluster](https://gitter.im/SocketCluster/socketcluster)

I think this 'niceness' comes from being a small, dedicated, growing community based around learning and having fun. If the community is already large and successful, you will just be a small cog in a big machine.

</comment><comment><USER78> I'm not seeing this mentioned at the top level, so I'll say it. I'm impressed with the team and community of Go:

[https://golang.org/](https://golang.org/)

A few great points:

[https://blog.golang.org/open-source](https://blog.golang.org/open-source)

[https://github.com/golang/proposal/blob/master/design/13073-...](https://github.com/golang/proposal/blob/master/design/13073-code- of-conduct.md)

It's the first language/open source project for me that I consider having "the" community, or at least one I care about being a large part of. I was mostly doing C++ before Go, and that didn't feel like something that had a single unified community around - there might've been many different ones.

But yeah, I've really been enjoying Go, its community and the project's future prospects.

</comment><comment><USER79> If you're into games at all, I would highly recommend the Godot Game Engine ([http://www.godotengine.org](http://www.godotengine.org)). They are very active on IRC and in the forums. If you have a question, you'll almost certainly get an answer. They are also are very welcoming of contributions.

</comment><comment><USER80> Django

<comment><USER81> Django Under The Hood was primarily a conference about love and acceptance of all fellow beings, I think :-)

</comment></comment><comment><USER82> Open edX, the stack powering edX.org, is a very interesting (and useful!) project to contribute to. The community and the reviewers are very friendly. There are byte-sized tasks available to get started, and you will get guidance on the tickets and PRs. It's a large Django code base, and changes you make impact millions of students within a week - as real and concrete as it gets. : )

[https://github.com/edx/edx- platform/blob/master/CONTRIBUTING...](https://github.com/edx/edx- platform/blob/master/CONTRIBUTING.rst)

[http://bit.ly/edxbugs](http://bit.ly/edxbugs)

[http://open.edx.org/](http://open.edx.org/)

[http://github.com/edx/edx-platform/](http://github.com/edx/edx-platform/)

</comment><comment><USER83> Apache Mesos and it's ecosystem (Apache Aurora, Marathon, Apache Myriad, Chronos etc.) has been the most kind, supportive and talented ecosystem of open-source projects.

It's a community of individuals who are very talented, patient, helpful and inviting.

Disclaimer: I work at Mesosphere, and one of the co-founders of Apache Myriad.

</comment><comment><USER84> [https://github.com/rubycorns/rorganize.it](https://github.com/rubycorns/rorganize.it)

Rubycorns of Rails Girls workshops

Also: [https://github.com/spacetraveler/rubyissues](https://github.com/spacetraveler/rubyissues)

Rubyissues

</comment><comment><USER85> Julia.

Talent off the charts. _Very_ nice people, and very supportive.

</comment><comment><USER86> Mozilla: Firefox accounts content server is for example very awesome with an amazing team and a lot of bus for beginners

[https://github.com/mozilla/fxa-content- server](https://github.com/mozilla/fxa-content-server)

</comment><comment><USER87> I found the community around Squeak ([http://www.squeak.org/](http://www.squeak.org/)) to be extremely pleasant and supportive some years ago. I suspect the offshoot community around Pharo is similar.

</comment><comment><USER88> Relative 'new comers' to the block, the Ionic Framework has an amazing hands on team behind it and the community as a whole is fantastic. [http://ionicframework.com](http://ionicframework.com)

</comment><comment><USER89> If you're interested in iOS & Android dev / automation tools you should check out [https://fastlane-tools](https://fastlane-tools) and [https://www.bitrise.io/cli](https://www.bitrise.io/cli) . The two projects have a fair amount of overlap, but handle a couple of key concept differently (e.g. built in modules in fastlane vs decentralized step library in bitrise). I'm more than happy to help you get started if you would decide to contribute to bitrise

</comment><comment><USER90> FreeBSD has a kind, international team of developers. It may be a scary project to contribute to for beginners to open source because it is an operating system, and people have some apprehension about improving operating systems.

</comment><comment><USER91> www.KDE.org in general, Krita team is considered very friendly and supportive.

<comment><USER54> I've loved contributing to Krita. It's also heartwarming seeing the lead contributors doing things like sending out stacks of postcards to donors, and great that IRC is for both devs and users.

</comment></comment><comment><USER92> I'm pretty partial to RethinkDB. They were my first contribution to OSS.

</comment><comment><USER93> PlatformIO: [https://github.com/platformio/platformio](https://github.com/platformio/platformio)

The author has gotten involved personally to help me with issues I was seeing. He provided advice on architecture and use case, and he does an extremely good job of keeping the product current.

[https://github.com/platformio/platformio/issues/330](https://github.com/platformio/platformio/issues/330)

</comment><comment><USER94> Scikit-learn is pretty great.

Very appreciative, smart, and plenty of room for beginners.

<comment><USER95> Seconded. I found the scikit learn guys very helpful.

Although, they seem to get alot of requests "hey i'm new here, what can i do?" So try to start with a more concrete question than that.

</comment></comment><comment><USER96> I recommend looking into re:dash, which is an amazing and widely used data collaboration tool for your data. Arik Fraimovich is doing a great work with a growing community of contributors.

[https://github.com/getredash/redash](https://github.com/getredash/redash) [http://redash.io/](http://redash.io/)

Disclaimer: I'm the founder of EverythingMe, re:dash was born in one of our hackathons but have since become its own beast.

<comment><USER97> Can I ask what are some of the differences between redash and a tool like Apache Zeppelin?

</comment></comment><comment><USER98> Hi Mike,

I have found the twitter/finagle guys to be very welcoming:

[https://github.com/twitter/finagle](https://github.com/twitter/finagle) [https://groups.google.com/forum/#!forum/finaglers](https://groups.google.com/forum/#!forum/finaglers) [https://gitter.im/twitter/finagle](https://gitter.im/twitter/finagle)

</comment><comment><USER99> From my experience, SDL, Ogre3D, and Dragonfly BSD were great. There are other projects I've made contributions to, but many of them are a lot more challenging to engage with.

</comment><comment><USER100> Openbsd.org

<comment><USER101> I've had very good experiences with the OpenBSD and the FreeBSD communities, too. As long as you do your homework and the answer you seek isn't in the documentation or FAQs, they'll go to the ends of the earth to help you out. This is really valuable for seriously hard problems.

</comment></comment><comment><USER102> If you are interested in javascript, rackt[1] team is working on awesome stuff.

[1]: [https://github.com/rackt](https://github.com/rackt)

</comment><comment><USER103> Octave and Mercurial. I'm involved in both. Come by, and if I see anybody being even slightly unpleasant, I'll be sure to call them out and help you feel welcome.

</comment><comment><USER104> Hugo[1,2] is pretty nice. Very responsive team too.

I like the discuss forum[3] they have, it's not particularly high volume and people are pretty good to each other.

[1] [http://gohugo.io/](http://gohugo.io/)

[2] [https://github.com/spf13/hugo](https://github.com/spf13/hugo)

[3] [https://discuss.gohugo.io/](https://discuss.gohugo.io/)

</comment><comment><USER105> No doubts: Elixir :)

Hope it helps

</comment><comment><USER106> i had a fantastic time contributing some code to the ghost.org blog platform. they are incredibly well managed, fantastically transparent, and provide a great deal of support for people contributing to the codebase. very much an a+++++++ would contribute again situation.

Probably the thing that sets any receptive project is its ability to identify areas where it needs help and setting aside well defined (and documented) projects in those areas. In many projects, there's lots of work needed to be done but the priorities aren't obvious and so lots of contributions get left on the floor because they're just not in any way priorities for the active maintainers. it takes lots of work and maturity for a project to advertise this sort of stuff which is why these situations seem few and far between.

Regardless, try to invest time in filling in the _current_ needs of projects rather than unsolicited work. some unsolicited work (bugfixes) is easily accepted, but features are often hard to incorporate especially if they're not aligned with the short term goals of the project.

</comment><comment><USER107> @antirez is all of the above to an amazing extent, however redis is one of the hardest projects to contribute code to from my own experience.

The community is awesome and very friendly and helpful though, and I reckon most of my contribution to redis has been as a community member helping out others or getting involved in discussions of redis' future, which is also a great way to get involved.

</comment><comment><USER108> Jinteki.net: a platform to play Netrunner in the browser. We welcome contributors and have a Slack where devs can ask questions. Send me an email if you want an invite.

[https://github.com/mtgred/netrunner](https://github.com/mtgred/netrunner)

[http://www.jinteki.net/](http://www.jinteki.net/)

</comment><comment><USER109> openFrameworks is extremely supportive, built from the ground up using volunteers, receives regular contributions by artists giving code back, and is in constant need of quality control (so many platforms to support natively...)

[https://github.com/openframeworks/openFrameworks](https://github.com/openframeworks/openFrameworks)

</comment><comment><USER110> It is a bit more than a open source project, but I really like the community around the [https://indiewebcamp.com](https://indiewebcamp.com)

I wrote in more detail about it half a year ago: [https://jeena.net/indiewebcamp-2015](https://jeena.net/indiewebcamp-2015)

</comment><comment><USER111> I'd have to say NetSurf ([http://netsurf-browser.org](http://netsurf- browser.org)).

I'd barely joined the IRC channel and was discussing UI enhancements when it was mentioned I could have my own branch on their private Git repo server if I wanted :D

That was hugely welcoming, in my book!

</comment><comment><USER112> ScummVM does! - [http://scummvm.org/](http://scummvm.org/)

</comment><comment><USER113> [http://racket-lang.org/](http://racket-lang.org/)

</comment><comment><USER114> The [http://hood.ie/](http://hood.ie/) community is nice. Also, I was rather happy with etherpad's community: [http://etherpad.org/](http://etherpad.org/)

</comment><comment><USER115> I cant say this without bias, but being a welcoming project has been one of my main focuses with [http://github.com/pouchdb/pouchdb](http://github.com/pouchdb/pouchdb)

</comment><comment><USER116> Most open source project teams are decent except Mozilla,which is vindictive at best.

</comment><comment><USER117> SQLAlchemy - Great docs, well programmed, very extensible/flexible/powerful.

</comment><comment><USER118> Lucee has a very active community and there isn't the division and disagreement I've seen in other projects.

[https://github.com/lucee/Lucee](https://github.com/lucee/Lucee)

</comment><comment><USER119> Surprised that no one mentioned Facebook's Presto project: [https://github.com/facebook/presto](https://github.com/facebook/presto)

Presto team is just awesome.

</comment><comment><USER120> If you're interested in Python and Lisp, Hy ([https://github.com/hylang/hy](https://github.com/hylang/hy)) is great. They're welcoming and funny.

</comment><comment><USER121> Wine's an amazing open source project, a compatibility layer project for running windows applications on POSIX-compliant OS's (OSX, Linux, BSD etc) started 22 years ago and still going strong. The devs are super talented and contributions are always welcome.

I've been contributing there and my so far my personal experience has been positive, fun and challenging at the same time :D

There's literally a ton of different things that you can contribute on and while there is some initial friction in getting patches accepted, they always make sure to point you towards the right direction to get your patch accepted. They also hold annual conferences (wineconf).

Check out their website for more info [http://winehq.org/](http://winehq.org/)

</comment><comment><USER122> More important to me--Which companies have kind, supportive, talented teams?

<comment><USER45> This might be interesting as a similar "Ask HN" of its own.

<comment><USER122> I'm on it, once I figure out how to do an Ask HN!

</comment></comment></comment><comment><USER123> XVim (XCode Pluggin for VIM-style bindings) [https://github.com/XVimProject/XVim](https://github.com/XVimProject/XVim)

</comment><comment><USER124> In the author of Semantic UI, if you're interested in working on the project you can always email me personally and start a dialog firstname.lastname@example.com

</comment><comment><USER125> If you're interested in code review / project management platforms, the ex- facebookers behind the long-running tool, Phabricator, are awesome.

</comment><comment><USER126> [https://github.com/callemall/material- ui](https://github.com/callemall/material-ui)

</comment><comment><USER127> GraphLab and Spark.

</comment><comment><USER128> CakePHP. I'm not a big fan but when I was working on a project their chat room was the most supportive helpful I've ever seen.

</comment><comment><USER129> It's a smaller project, but I've made small contributions to PyInstaller and found the lead people to be very agreeable.

</comment><comment><USER130> This is the ideal we are striving for at [https://github.com/amark/gun](https://github.com/amark/gun) , and I hope our [https://gitter.im/amark/gun](https://gitter.im/amark/gun) is evidence of that.

We're an Open Source Firebase, with graph data structures and a decentralized architecture. Please give us an email so we can help, mine is firstname.lastname@example.com .

</comment><comment><USER131> Whole Clojure and ClojureScript ecosystem.

<comment><USER132> As much as I love Clojure this is not entirely true. Without naming names there are some prominent projects/devs that would not qualify for this.

<comment><USER133> If you're going to make statements like that, you should point names or at least specific cases.

I would say, yes, Clojure is pretty much governed by the benevolent dictator model. Is that bad? What is the alternative? Design-by-committee model where the language/project/library goes in 100 different directions with mostly questionable quality?

<comment> clj-throwaway Personally I think Clojure takes the benevolent dictator model too far. It's possible to be a benevolent dictator and still publish patches for review before you merge them, even if you do intend to have the final say. Rich just runs git commit && git push without telling anyone what he's working on. Most of the time it works out but in the most recent development cycle it's been kind of a mess.

<comment><USER133> Ok, clj-throwaway : ) .

First, I have to say that I'm not a Clojure contributor, and haven't contributed a line of code.

I am "just" a Clojure user. Clojure by itself is already pretty good. Nothing is perfect of course. I want Clojure to keep improving in all kinds of ways (smaller memory footprint than C, please? when can I get THAT? oh, can you also throw in the 1 ms startup time, thanks :)), but I also want it to work well, including my existing and previous code. When something is already pretty good, you work twice as hard at not screwing it up first before you mess too much with it.

What specifically do you mean by "mess"? What has been "messed up"? Has your Clojure code stopped working? Has it become slower with a new release? Has there been a glaring memory leak that renders your server useless after a few hours of running? Because I can point you to a number of "open-source" projects with huge funding where that has been the case.

</comment></comment></comment></comment></comment><comment><USER134> I try to be excessively polite but I preside over a diaspora as opposed to a proper community.

</comment><comment><USER135> ElasticSearch in my experience has a smart team and good codebase to work on in Java.

</comment><comment><USER136> Ruby for sure. Amazing community with super awesome OSS software.

</comment><comment><USER137> Oh-My-Vagrant does: [https://github.com/purpleidea/oh-my- vagrant](https://github.com/purpleidea/oh-my-vagrant) Disclaimer: I started the project though!

</comment><comment><USER138> Samba has a very supportive and vibrant team [0].

[0] www.samba.org

</comment><comment><USER139> [https://github.com/themanaworld](https://github.com/themanaworld)

</comment><comment><USER140> The Jekyll folks are always nice and chipper. And disgustingly productive. :)

</comment><comment><USER141> You'd expect someone would mention Joomla already. But...

</comment><comment><USER142> Netbeans and dokku are two nice ones as far as I understand

</comment><comment><USER143> Elm and Blockly.

</comment><comment><USER144> The Haxe community is pretty awesome! :)

</comment><comment><USER145> The team at GoboLinux.org is awesome ;)

</comment><comment><USER146> F#

</comment><comment><USER147> Android !!

</comment><comment><USER148> Bitcoin

</comment><comment><USER149> Snowdrift.coop is very welcoming.

</comment><comment><USER150> Check out #FreeSoftwareFriday on Twitter for praise of great open source projects.

</comment><comment><USER151> In general I think that projects that use gerrit are the easiest to get involved with.

</comment><comment><USER152> [https://github.com/DemocracyOS/democracyos](https://github.com/DemocracyOS/democracyos)

Great team & Great project

</comment><comment><USER153> Drupal - [http://drupal.org](http://drupal.org)

Ethereum - [http://ethereum.org](http://ethereum.org)

</comment><comment><USER154> I think it depends on you background, I'm trying to support this project: [https://github.com/franzejr/best-ruby](https://github.com/franzejr/best-ruby)

</comment><comment><USER155> Theforeman -Foreman is a complete lifecycle management tool for physical and virtual servers. theforeman.org github.com/theforeman

</comment><comment><USER156> Aren't these mandatory qualities in the open source world?

If you enjoy Python, RESTish APIs and all sorts of database backends, you can checkout [http://Ramses.tech](http://Ramses.tech) a project that I'm involved with.

</comment><comment><USER157> The day open source will be kind is the day there will be no more discussions.

When there is no more discussions and everything looks nice the project as either became proprietary (apache, mysql, nginx), mummified dead (tex) or religious dead (GNU+HURD), or soon to be kind of proprietary (mongodb) or dead of shame (rails) or dead by tyranny (openBSD) or it is a zombie (perl6) or dead from laughing (agile) or dead by bloat (node, angular, react, riak).

Well, Choose 2/3 kind & supportive open source alive

For example the consensus on PHP is vastly due to either true pro making real money out of fixing the mess of PHP spaghetti code, and people having real better tools to make better code.

PHP is thus a good example of a dead project that ignores it.

PHP is quantically dead.

<comment><USER158> > PHP is quantically dead.

PHP 7 is a revolution by itself, cleaning up a lot of issues in the language and moving it forward. I'm not sure what your message is about, but it certainly seems you have issues with the PHP team.</comment></comment>


Finger size link to earning power - <AUTHOR> http://news.bbc.co.uk/2/hi/health/7825890.stm

<comment><USER2> The Bloomberg version of this story was already submitted. <http://news.ycombinator.com/item?id=431722>

</comment><comment><USER3> This is something bodybuilders have known for years. Good old science, catching up at last :-)

</comment><comment><USER4> Damn, my finger is too short.</comment>


800,000 Fans Show Up for World Series Parade - <AUTHOR> http://www.kansascity.com/sports/spt-columns-blogs/for-petes-sake/article42747057.html <comment><AUTHOR> What happens to cell towers when 500,000 phones are near by?</comment>


Today's big news: One year max public TLS certs are coming, starting 1 Sept 2020 - X-Istence https://twitter.com/chosensecurity/status/1230253348236013570 <comment><AUTHOR> What does this mean, exactly?

What will this mean for existing certs that are valid for longer? Will they marked as untrusted? Why is one year certs more secure?

<comment> X-Istence Current certs are limited to 2 years max already, so this reduces it to 1 year.

For certs that were issued before September 1st, 2020 nothing will change, they will continue be valid for 2 years. So if you get a certificate on August 31st, 2020 that is valid for 2 years, it will be valid till August 30th, 2022.

However certificates created after September 1st, 2020 that are issued for 2 years will no longer be accepted by Safari (and thus it will throw a TLS warning when a user visits the page)

> Why is one year certs more secure?

The issue with long lived certificates is that if the certificate + private key is stolen, then it can be abused for the duration of the certificate lifetime.

Revocation is currently not very feasible because of the high cost for turning on CRL/OCSP checking on every request, and even with OCSP stapling (which is not currently enforced because of potential for sites to go down because the staple is missing or outdated and the certificate authors OCSP servers are not returning new answers).

Here's a good article that explains some of the issues with revocation: [https://arstechnica.com/information- technology/2017/07/https...](https://arstechnica.com/information- technology/2017/07/https-certificate-revocation-is-broken-and-its-time-for- some-new-tools/)

Last edit:

Shorter certificates are better for security overall, as there is less time for an attacker to potentially abuse a certificate.</comment></comment>


American Firms Want to Keep Older Workers a Bit Longer - <AUTHOR> https://www.bloomberg.com/news/articles/2016-12-16/american-firms-want-to-keep-older-workers-a-bit-longer <comment><USER2> > With 10,000 baby boomers turning 65 each day, businesses are scrambling to > find ways to slow an exodus of the most experienced employees and ensure > that they pass along their knowledge before they leave.

Knowledge transfer should be baked into the day-to-day culture of work, not something desperately scrambled for during someone's last week. Those few companies with meaningful training and mentoring programs know this.

> The plant [...] has an apprentice program for millennials, but there's a > shortage of Generation X workers. "We've got a big gap in the middle, so we > have to keep talented people in their 60s a little longer,"

Here we go again with the "shortage of workers". In one article it's tech workers. Here it's GenX workers. A "shortage" of a good is pretty meaningless if you don't mention the price you're offering to pay for that good. Unless they're saying they literally can't find qualified GenX workers at any price-- That would be a real shortage. Otherwise, maybe you need to just offer a little more money to find skilled mid-career workers nowadays.

With so many people under-employed or out of work, it borders on insulting to claim there's a shortage of workers.

<comment><USER3> I feel it's a cycle of mistrust. Companies don't want to spend as much time training junior workers or apprentices because they often leave shortly after achieving proficiency. But this lack of perceived loyalty comes from a rational viewpoint. After the shift in business culture in the 80s, where workers were laid off in bulk even if the company was in good financial health, workers woke up to the new reality. (To be fair, the era of the "company man" only encompasses half a century, so it's not necessarily a right or natural phenomenon)

I remember in the 80s and early 90s it was common for a salaried worker to stay at the same company for decades. Since the 2000s, it appears to be less prevalent.

The solution would appear to be to make conditions good and wages competitive for the newly-trained junior workers to improve retention. However, some industries risk their competitiveness with labor costs above a certain level. I wonder how much of the shortage is due to the intransigence of capital versus true limits for competitive pay. I suspect the former for almost all specialized positions experiencing shortfalls, such as pilots, machinists, CNC operators, and millwrights. For unskilled labor I suspect that the wages cannot climb much higher without harming profits or risking competition from overseas.

<comment><USER4> I read in the newspaper that Boeing has a skills gap with their machinists. The skilled older ones are retiring, and the younger ones aren't experienced enough. There are few in the middle.

What happened? When they had layoffs, the machinist union rules specified the ones with the least number of years of service got laid off first. This left Boeing with a very unbalanced workforce.

<comment><USER5> Seems like unions benefit just the insiders and seniors. One reason why I am skeptical when people say unions built the middle class. Employer competition probably does more for that than unions.

<comment><USER6> If a company has a bimodal age distribution, the question to be asking is "Why didn't they think about hiring someone occasionally over the last 15-20 years?" Of course, the answer is that no corporate manager wanted to miss his number by hiring another person.

So, the managers kicked the problem down the road and hoped that someone else would take the hit.

> Seems like unions benefit just the insiders and seniors.

Everybody gets old, you know.

Unions implemented this policy because companies were wiping out older workers because they were more expensive in terms of wage and healthcare.

> Employer competition probably does more for that than unions.

Agreed. But the same anti-union people are also against anti-monopoly regulations.

<comment><USER7> > Unions implemented this policy because companies were wiping out older > workers because they were more expensive in terms of wage and healthcare.

This is essentially what GP is saying. Unions kept the expensive older worker at the expense of firing the younger workers. If the workers they keep are more expensive, then they have to fire proportionally more younger workers to make it up.

</comment></comment></comment></comment></comment></comment><comment><USER8> Most of the really experienced people at companies I have worked for where surprised when I asked about what they did and why. They somehow assumed someone else was supposed to be training me. They were the only ones who knew answers to particular questions I had. They were shocked and sometimes didn't believe me that I asked everyone but them first. I don't blame these experienced workers for not sharing their knowledge, someone should have told them, though, that they are expected to do it, there are no systems in place at most places. Most companies seem to believe that knowledge transfer just happens magically,or should.

<comment><USER9> > Most companies seem to believe that knowledge transfer just happens > magically,or should.

Put more experienced with less experienced workers working together and it does happen magically.

<comment><USER8> I think in my case it did, I did learn from the experienced workers but that was apparently not the norm there. I hope you are right that that is what happens most places.

</comment></comment></comment><comment><USER10> I've often thought that after a certain age, instead of getting some percent increase in salary, it would be preferable instead to work some percentage fewer days or hours. Seems like the idea is finally catching on. I hope I get to enjoy it when the time comes.

<comment><USER11> I have always said that when I get to "X" income, I'd rather have more time than more money. Of course "X" changes over time, but I have definitely hit it before.

This is what consulting/contracting lets you determine, but I hear you, it'd be nice to have the option coupled with the safety and job opportunities of employment.

</comment></comment><comment><USER12> There's a gap there because the firms didn't want to pay the GenX generation after they got trained. They hopped on to the next company and progressed their careers.

Take better care of your employees, pay them their market value, factor in some work-life-balance, and they will stay.

</comment><comment><USER13> "A shortage of gen-x workers" is exactly the case at my facility. I'm 45, which is the valley in the bimodal age distribution. People are either in their 60's or 20's, and those two generations do not get along.

<comment><USER14> Why is there a shortage? Are you underpaying people?

<comment><USER13> Not me personally; I'm an EE, not a manager. But yes, they underpay. I'm only making market salary because I threatened to quit last spring.

<comment><USER11> Ah, labor does respond to the law of supply and demand :).

</comment></comment></comment></comment><comment><USER15> Recently I've heard two different stories about this exact problem. Two specialized trades, two experts of their crafts about to retire, and two companies unsure how they'll replace them.

I wish I remembered more details about the experts themselves, I believe one was a specialized glass worker.

<comment><USER16> One of the people you might be thinking of is the glass blower who is retiring from Caltech.

[http://www.latimes.com/local/education/la-me-caltech- glassbl...](http://www.latimes.com/local/education/la-me-caltech- glassblower-20160613-snap-story.html)

</comment></comment><comment><USER17> If salaries go up, shortages go down (both on silly and demand side)

<comment><USER18> Shortage is defined as a situation where price cannot rise, such as the government setting a price ceiling. If price can rise then a shortage is impossible.

<comment><USER19> So if right at this moment the world had only enough doctors to care for half the population, regardless of the price, that wouldn't be a shortage of doctors?

If there were a severe drought and only enough food to keep half of us alive, but prices weren't capped... That wouldn't be a food shortage?

If there are only 10,000 people in a field who are under the age of 70 but have at least 20 years of experience, and the industry needs 50,000 of them to function efficiently - that's not a shortage of experienced skilled workers?

Not everything is a commodity. Not every commodity experiences a drop in demand as the price rises. Some things are needs that people continue to have demand for even if they can't afford them due to shortages. Even commodities have limits to their production. And some things can't be produced quickly enough to address a short or medium term shortage.

Markets aren't magic. They have inefficiencies and externalities and logic limits. Econ 101 deals only in simplifications and spherical cows. And people with specific skill sets aren't spherical cows.

<comment><USER18> _> So if right at this moment the world had only enough doctors to care for half the population, regardless of the price, that wouldn't be a shortage of doctors?_

Doctors may not be the best example. Where I live, at least, the government really does set a price ceiling for doctors, so a shortage is very much possible. Ignoring that, simply not being able to afford a doctor does not mean there is a shortage of them. That means you cannot afford a doctor. Which is a problem in its own right, but not a problem defined by shortage. Not all problems are shortage problems.

 _> If there are only 10,000 people in a field who are under the age of 70 but have at least 20 years of experience, and the industry needs 50,000 of them to function efficiently - that's not a shortage of experienced skilled workers?_

No, because as price rises, that 50,000 number will decline. There is only so much money willing to be spent. At some price point, businesses will only be able to afford 10,000 people and the demand will be met exactly by the number of people available to work. Or if the job really requires 50,000 people absolutely, they will decide it no longer needs to be done, leaving the the need at 0 people.

 _> Not every commodity experiences a drop in demand as the price rises._

How can that be? Not everyone has the same resources available. Like the businesses above, as price rises, some can no longer afford the good or service. That takes them out of the market. Demand does not simply mean what you want to have. Price is always a component. Like that great earlier comment here about Porches, there isn't shortage of Porches because every poor man who admires the car can't afford one. They are simply not in the market for one in the first place, no matter how much they dream about owning one.

 _> Markets aren't magic._

Nobody said they were. The scenarios you point out, where price is able to rise, are something, but not shortages.

<comment><USER19> That seems to me like a strange, limited, and impractical definition of a shortage.

When the supply of something is insufficient to support effective operation (or to support existing life), that's a shortage.

Yes, perhaps prices will rise until no more people can afford it than the supply will support. But perhaps that supply isn't enough to keep the industry from collapsing or to keep the population from collapsing, etc.

Regardless of whether the price rises to keep the resource out of the hands of everyone who needs it, the insufficient supply for _effective function_ is still damaging - to a population, an industry, an economy. I would most definitely consider that a shortage.

<comment><USER18> _> That seems to me like a strange, limited, and impractical definition of a shortage._

Well, that's its definition, for better or worse. I didn't write the economics dictionary. I only can repeat it.

Is there reason to overload this particular word? While the implications of the scenarios you describe are clear, I'm not sure why it has to be "shortage" that represents it. Why not another word or term that encompasses those cases – unaffordable, perhaps – while leaving shortage to mean what it means?

<comment><USER19> Why not let "shortage" have a vernacular meaning too? One that it already had before the field of economics adopted it for a more specific purpose?

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> I wonder how much of this has to do with the dot bomb in 2001. It washed a lot of my generation (GenX) out our technology.</comment>


How I went from idea to product (with paying customers) in 7 days - <AUTHOR> http://blog.happyletter.net/post/64874094080/how-i-went-from-idea-to-product-with-paying-customers <comment><USER2> Absolutely loved reading this. He actually describes the "how" process from Day 1 to Day 7. These kind of posts always make me feel awesome and terrible at the same time. Awesome that it is so possible to build something that people actually want but terrible that people like me are still wondering where to start. Damn I need to start talking to my Patrick Rhones.

</comment><comment><USER3> Great post. Did you do this in tandem with a full time job?

Also did you just stumble on the guy's request? Or were you looking.

<comment><AUTHOR> I'm glad you liked it!

I have a "day job". I run another company with a dozen employees. I love creating things, too. I'm like a construction foreman that loves what he does so much that he builds birdhouses on the weekends. Most of the work was done in the morning, over the weekend or at night while watching MasterChef on Hulu with my wife.

I've been following Patrick Rhone for years. He was begging for a letter.ly replacement for a while. Each time he asked, I always thought it was fascinating that no one was taking him up on it.

I built HappyLetter for the fun and sport of it. I saw it as an opportunity to practice some things I need to do more often and better, like writing, sharing, teaching, being transparent, accepting constraints, accepting perfection isn't always necessary, etc. I'm as proud of the HappyLetter blog as I am the product. There are many hard-learned lessons buried in those posts.

I've built many things like HappyLetter that never saw the light of day. Blogging about it forced me to ship.

</comment></comment><comment><USER4> I really like the idea of "writing through the product dev process". So often I get stuck and the act of "talking it out" helps - I think writing a blog/journal would be even better.

<comment><AUTHOR> Live-blogging was way more helpful to the development process than I ever imagined it would be.

Even if you don't feel comfortable sharing everything in public, I'd keep a private journal and write through any issues that are stopping you from moving forward.

</comment></comment><comment><USER5> Great way of thinking and building the product in a very lean fashion ! My biggest issue would be : why would people pay to subscribe to a newsletter ? Do you have specific use cases ? (I guess that letter.ly closed for a reason?) I'm sure that spending a week to build it and see if people would use it is one of the best ways to answer that question though. I'm just wondering what you, as a developer, think.

<comment><AUTHOR> I think I answered that here: [https://news.ycombinator.com/item?id=6600121](https://news.ycombinator.com/item?id=6600121)

There are people out there who love the bloggers/writers they follow and will support them. A newsletter is a great way to trade exclusive access for money.

The kind of newsletters that publishers will use HappyLetter for aren't the marketingy kind you're used to. These publishers probably won't have a different product to sell where a newsletter is part of a lead scoring or funnel process. To them, the newsletter is the product.

</comment></comment><comment><USER6> Really curious to hear how this works out. I don't recall ever seeing a paid newsletter signup form; most authors/email list owners use email as a free lead gen tool to sell something _else_ (a book, an online course, etc). It'll be interesting to see if people will pay _for_ the email medium itself.

<comment><AUTHOR> So far after 8 hours, one of HappyLetter's customers has 13 subscribers. They've only announced their letter on Twitter and ADN. Many of the Gruber- inspired school of bloggers try to minimize ads and rely on direct support from their readers. I think newsletters are a (classy) way that their readers can support them.

<comment><USER6> "Many of the Gruber-inspired school of bloggers try to minimize ads and rely on direct support from their readers."

That's awesome. I hope it gets traction. I guess we'll see as you move forward ;)

</comment></comment></comment><comment><USER7> I've been following Andy's blog since the beginning - amazing to see the progress in just 7 days!

</comment><comment><USER8> Way to JFDI and get a product not just out the door - but have paying customers!

</comment><comment><USER9> Nice work man! It's fun going from idea to customers so quickly. We did the same thing in 10 days.

</comment><comment><USER10> Wow, impressive! Will be interested to see how things progress.

</comment><comment><USER11> Why a monkey icon? Hard for me to not relate to MailChimp.

<comment><AUTHOR> That'll change. Someone is building out the identity right now. But I have a thing for monkeys. Don't judge.</comment></comment>


The Super Duper Universal Binary - <AUTHOR> https://tenfourfox.blogspot.com/2020/06/the-super-duper-universal-binary.html <comment><USER2> Back in OpenStep, it was quite common to have fat binaries with m68k, i386, SPARC and PA-RISC architectures.

<comment><USER3> Yes, I think we called them quad-fat back then?

</comment></comment><comment><USER4> What's the argument for why fat binaries like this are a good idea, as opposed to having separate binaries that can be downloaded for different architectures? It seems like the main advantage would be when there is (something like) a networked drive simultaneously accessed by incompatible machines, with a secondary case for when the same drive is transferred from machine to machine (or when a single machine is upgraded to a different processor). Is this a large enough use case to drive adoption, or is there some other major benefit that I'm missing? Or is it that having 2x (or 17x) larger binaries to distribute isn't actually much of a downside, so even a small benefit is sufficient justification?

<comment><USER5> Most apps, 2x binary size is no big deal. This has been true since the 1990s, when we had fat binaries that were M68K and PowerPC. Nobody's doing 17x, that's just a joke.

Figuring out how to get users to download the correct binary, now that sucks. Do you add JavaScript to your download page or do server-side sniffing with the user agent to deliver the correct binary? And do you want to explain to someone that yes, they downloaded the Mac version but they have an x86 Mac and can't download the ARM binary?

<comment><USER6> >And do you want to explain to someone that yes, they downloaded the Mac version but they have an x86 Mac and can't download the ARM binary?

Can't you detect the system architecture through the user agent string? eg. [https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers/Us...](https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers/User-Agent/Firefox#Macintosh). I guess it's still an issue if you're downloading for ARM mac, using a x86 mac, but that's a pretty rare occurrence and you can work around it by allowing users to select the architecture manually.

<comment><USER5> The only advantage that user agent sniffing has over fat binaries is the decreased size, and usually, it's a fairly small difference. Small benefit, big drawback. Plus, there are all the smaller developers or hobbyists who just want to share the app they made, and maybe don't want to figure out how to get user agent sniffing working on their site—or maybe they are just sharing a link to Google Drive with the game that they made.

Also from my experience, people still share downloaded copies of applications.

We can use thin binaries only when necessary—web browsers, for example.

</comment></comment></comment></comment><comment><USER7> This kind of thing is pretty cool, but I've learned to avoid them, because they can result in A) BIG clumps of code, and B) testing issues.

I used to have a special shell script that I wrote, that used lipo to combine multiple binaries into an aggregate library. I probably still have it around, somewhere. I was fairly proud of it.

Also, I had to use static libs, which wasn't a problem, as long as I didn't mind a big executable that couldn't be trimmed.

Over the years, I've learned (the hard way, since I'm a stubborn knucklehead) not to "end run" around Apple's prescribed methodology.

Now that Apple has wrapped Swift Package Manager into Xcode, it lessens the need for "clumped" binaries (for internal projects).

</comment><comment><USER8> > Just build them separately and lipo them together.

Perfect command name. ;-)

</comment><comment><USER9> A super duper universal binary? Oh you mean a .jar file

<comment><USER10> Ah yes, Java, with the promise of "write once, run anywhere"...as long as anywhere has a specific version of the JRE installed that's been EoL since 2007.

Obviously that's not the case for all Java software, but has always amazed me how seemingly easy Java made it to end up like that. So many legacy Java apps that are a complete pain to support, and $deity help you if one user needs to run two different legacy apps with non-overlapping JRE requirements.

And that's not even getting in to the horrors that were the Java plugin, fortunately that is entirely out of my life and gone for good.

<comment><USER11> _as long as anywhere has a specific version of the JRE installed that 's been EoL since 2007._

I just ran into this on a new machine while trying to get Bamboo (Atlassian's CI product) running. Just download latest? _phhhttt_ It needs a specific version: 1.8. Wait a minute, WTF? Java is at like v14 now, or something, right? Ah, because apparently there's some soft link from 1.8 to $WHATEVER_VERSION. Didn't matter because I downloaded the JRE, but needed the JDK. Or something. I've eventually got it working, and wrote it down this time.

I go back so far that I've written software on punch cards. And someone suggests that we foist this on your average Mac (or for that matter, any OS) user? Fat binaries, please.

<comment><USER12> > It needs a specific version: 1.8. Wait a minute, WTF? Java is at like v14 > now, or something, right?

There was a compatibility break between Java 1.8 and Java 9 (the version number also lost the prefix at the same time, Java 1.8 can be thought of as "Java 8"). It was not as big as the change from Python 2 to Python 3, but a lot of software needed changes to not break; as late as last year, I was still seeing Java libraries adding fixes for compatibility with Java 9. If your software depends on libraries which have not yet been upgraded to work with Java 9, you have to require Java 8 (that is, Java 1.8).

It doesn't help that, even today, the default version of Java in some major Linux distributions is Java 1.8, so not only that's a good reason to keep compatibility with Java 8, but also it means that there's a good chance that the server already has Java 1.8 installed. (In a not so distant future, however, these major Linux distributions will probably have Java 11 as the default version; the next long-term stable Java version after Java 11 is probably going to be Java 17, so you are going to see many software require Java 11 for a while, and later Java 17.)

<comment><USER11> Thank you for a helpful explanation from a software engineer, but one who is not steeped in Java all day. It is annoyingly opaque to those of us for whom Java is just a tool.

</comment></comment></comment></comment></comment><comment><USER13> Perhaps "totally gross" binary would be a more specific and direct terminology?

<comment><USER13> I was serious, but of course immediately received negative feedback. Super Duper, it is then. Any chance someone will explain why they feel that is the superior choice? It doesn't seem to be any more precise. If anything it is just some unrelated expression used for kicks. Or was this just an emotional reaction unrelated to any particular line of reasoning?

<comment><USER4> I downvoted it because I thought it was a low effort joke, and I wanted the comments to focus on the concept rather than the name. Also, I thought you were suggesting "totally gross binary" as a general replacement for the established term "fat binary", and it didn't seem like a good idea. I treated Super Duper as just a sarcastic title for a blog post, and don't think it's actually any better. Apologies if I misunderstood your intent.</comment></comment></comment>


Google Developing 'Brillo' Software for Internet of Things - <AUTHOR> https://www.theinformation.com/Google-Developing-Brillo-Software-for-Internet-of-Things <comment><USER2> _To that end, Google is working on technology that could run on low-powered devices, possibly with as few as 64 or 32 megabytes of random-access memory_

That's really roughing it. ;) There was a recent announcement of a 16KB IoT OS from Huawei by comparison.</comment>