Hate to be that guy but I can’t believe it is 2018 and the Rails world still holds so tightly to the active record pattern despite it hurting so much.
It’s a legacy Rails app from 2011. Moving the whole chunk to something other than the AR pattern is not feasible, nor will it ever be.
The best we can do is to rewrite pieces of it at a time with better patterns, and that’s exactly what we are doing now.
Much of the perceived productivity wins that out-of-the-box Rails provides are derived from the tight coupling between ActiveRecord (or at least ActiveModel) and the rest of the provided libraries. I agree it is a hindrance, but choosing not to use it in the initial phases of a project causes other sorts of friction unless you really know the ecosystem and know what you want to do instead. After all, isn’t ActiveRecord almost half of the lines of code in Rails in the first place?
With respect to tests, the community’s preference for factory libraries (instead of the built-in fixtures) exacerbates the performance issue quite a bit.
I’ve had to recalibrate my involvement in OSS because of the combination of full-time job and the book which entails writing and releasing ~100 pages a month. Fortunately, the only library I maintain of any real importance has Michael Xavier who’s using it at work and moving things forward. I’m mostly there to rubber ducky for him and push out releases. I do little/nothing beyond that.
The incentives aren’t really there to do OSS if you have an established career, which then leaves a lot of that stuff to relatively inexperienced programmers if you think about it.
I think some OSS contributors dream of being able to do it full-time, but that seems very rare.
Hi, I’m the guy who wrote the article. I think this process is part of recalibrating my involvement in OSS. I felt way over-committed, and that’s probably because I decided to take more and more stuff on without cutting back anything. So I’ve cut it all back.
The library that gets the most issues for me is paranoia, then followed by Ransack and then Forem. The latter are usually issues that are like “how can I fit your round peg into my square hole?”, which is the kind of thing that I would charge a consulting rate for typically, but I’d feel wrong about closing their issue without replying… and so it lingers forever.
The incentive to keep doing OSS is, in my mind, that it provides you with a playground for new ideas. I wouldn’t have spent time learning how to use Sidekiq if it wasn’t for my OSS work. It has some benefit, but not as large a benefit (imo) as my writing does. So I’m quitting the OSS side of things and focussing on writing during the week, and spending my weekends relaxing.
I’ve found not using github pretty good at reducing the number of issues received. Put a tarball on a website. People send mail sometimes, but it’s easy to ignore and there’s no website tracking how awful you are. :)
You can disable issue tracking per-project on Github. Doing that on @ryanbigg’s projects would probably cut down on the pressure of having to provide support for them while letting others still fork the code and all that stuff.
I’d still like people to file issues if they encounter a problem with it. It provides them with a centralised point where they can do that.
You’re doing the healthier thing than I am. I’ve no family, just a dog. My weekends are devoted to the book and the occasional bit of contract work.
Exactly my thoughts ~!
Very few are fortunate to have their job & opensource work overlap. For the rest of us, it’s two careers: one that pays and one that doesn’t.
At least on the big projects, I feel it’s the opposite these days. Genuine volunteers, who contribute to open-source projects out of conviction or as a hobby or side project, seem pretty few and far between in most projects I follow. The vast majority of code seems to be from professional developers getting paid to make those open-source contributions, working for companies like Red Hat, Intel, IBM, Joyent, Google, Samsung, Apple, etc.
The incentives aren’t really there to do OSS if you have an established career
Of course they are. My incentive is that it’s fun, stimulating and benefits others.
Agreed, (with some caveats re: entitled users, etc), but don’t forget the obvious one: because you need a particular piece OSS in order for your established career to actually proceed.
Looks like this is the PR thread that started this.
I dont think the person who sent the PR did anything wrong. Guy was just ready to blow.
Hi, I’m [the] “Guy”. Yup, certainly was ready to blow. Emails like this every weekend asking when I’m going to merge their patches is what sent me over the edge. I’ve had enough, and so I’m throwing in the towel.
I hope he doesn’t start getting more comments like this. Guy gives away free work for like almost 5 years (based on git commit logs), and some random person (with an amazon wishlist as their github homepage link no less!) comes out of the woodwork to inform him how he should feel. eye roll
I think that comment is pretty fair and the maintainer was kind of a jackass in implying guy was ruining his weekends asking how he can improve the quality of his own freely donated labor.
I do find it hard not to hate any post that begins with “sigh” though.
Yeah, the sigh and the second sentence (“It looks like..”) were what chapped my caboose I think. The rest of it was pretty reasonable.
The “random person” is Rui Paulo. He is a FreeBSD core commiter for longer than 5 years!
Must have been a high quality entropy device then. :P