Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Patches welcome!


I think the problem is beyond being solvable by patches, but an issue of philosophical introspection of where Rails wants to be in a few years.

To be able to change the direction of Rails on this issue and the other issues the poster above raised, I'd have to spend a significant amount of time submitting patches and get to the point where I am a major committer to have the opportunity to chime in and have a significant impact on the direction Rails is going. Even if I or someone else with the same concerns were committed to making that effort, by the time I or they get to the point where we can have an impact, it will be too late.

I'd rather commit to a node or an npm package than rails because any package I commit to will hopefully be replaced by something better once it's outlived its usefulness. My favorite part about node is that it isn't opinionated. It leaves the opinion to the community modules. Hopefully most community modules with maintain just the right amount of opinion about their domain and know when to concede matters of opinion to other modules that node better. It's nice when separation of concerns is a cultural value.

This isn't a node/rails debate. It's a values debate. I think opinion was the right value for the right time several years ago. We're going through a time of change where opinion is a liability not an asset.


"My favorite part about node is that it isn't opinionated. It leaves the opinion to the community modules."

Node is not opinionated because it is not a framework; it is a JavaScript environment built on V8 and some common libraries. It would be much more appropriate to compare Express* with Rails than Node with Rails.

If you want to compare Node with something you'd be more correct comparing Node and its modules with Ruby and its gems.

* Even though, from what I can see, Express has more in common with Sinatra than Rails...


Express is more like Sinatra. It's largely syntactic sugar and some powerful extra features beyond what node's http module offers.

Express knows where its "opinion" ends and where it should make room for other modules with opinions of their own.

There really are two opinions at play here. Opinions of how to do something and opinions of what to do.

Express has opinions of how that differ from the http module (it even uses the http module to accomplish what it does).

Express has a minor opinion on what it should be doing and extends the what beyond the http module, but that's largely where it ends.

The problem with Rails is that it the domain of subjects it had an opinion on kept growing until it couldn't not have an opinion on stuff.

CSS versus SASS? I love Sass and used it before Rails added it. Rails didn't need to have an opinion here. Coffeescript? Same thing.

Maybe it is an unfair comparison because there's no equivalent to this much opinion about so many things in the Javascript world, except some Rails ports that people have made. And even they are seen by most as "Oh that's nice that you can get set up quickly in less than a day, but no thanks, I'd like to pick and choose what makes sense to me based on what I'm planning on building."

Had we known better maybe we would have gone with Sinatra back when we started.


Fair points.

Given what you've described I'd suggest you take just one more friendly unbiased look at Rails 3... and if after that it's still not your cup of tea then fair is fair. Maybe you won't choose to develop with it, but maybe you also won't choose bash it. It's pretty cool and I believe it was an attempt by Rails developers to address your very concerns. Most major components can now be easily swapped via Railties thanks to the decoupling efforts.

http://edgeapi.rubyonrails.org/classes/Rails/Railtie.html


Don't get me wrong. I really like Ruby, but I think Rails has become too all encompassing in places.

The architecture, like railties look pretty cool, but policy of constantly embrace and extend just leads to bloat that gets in the way when you're doing something more exotic than straight server-side CRUD.


"It's a values debate. I think opinion was the right value for the right time several years ago. We're going through a time of change where opinion is a liability not an asset."

I think this may be becoming more true everyday, but I still don't think we've come to the point where anyone has discovered The Way to do web stuff. Rails continues to introduce ideas that are interesting and important. Would CoffeeScript and Sass have received such rapid uptake if not for Rails? (Some of you may think that would be a good thing)


Both coffee script and sass were already were receiving massive uptake before they were included in Rails.

TDD as a cultural norm was Rails' biggest contribution. That was a good thing and was an opinion that few developers with argue with.


Does this mean it's time to fork?


This is a horrible issue with modern development. Basically we are getting into sectarianism. Don't like a doctrine of the Brethren Church? Fork and become the Grace Brethren. Don't like a small doctrine of the Grace Brethren? Fork and make the Conservative Grace Brethren.

I know that GIT and the like have made it really easy to fork and run, but does this fundamentally help? Does having X versions of some framework really make sense?

Why not go a different route and just give up the one side and make another? Rather than forking, make something new.


> I know that GIT and the like have made it really easy to fork and run, but does this fundamentally help?

Yes, it does. What ends up happening in practice is that forks are almost always short-lived. They either get merged with the mainline, they become the new mainline, or they die out. Occasionally, there are two self-sustaining projects that diverge from the same point of origin, but it's rare.


Yeah, I actually think that's the way to go if you don't like Rails, I was kind of joking. I am curious to see if there's enough passion for Rails itself that people would say, "no I want RAILS, even if it means making it something else" rather than just accepting a change in philosophy or moving to something else.

Personally, I think there's not. I think people either are sticking to Rails or they are not. I think even if you don't like the new Rails, it did help the development community at large. Before Rails, I don't know many web folks who were talking about TDD and MVC and real, honest, programming stuff.


Naw, if you work with Ruby, I'd just work on creating an ecosystem of interchangeable parts around Sinatra.


The question is whether the patches would be accepted. There are still people in charge. When they make a choice to go route A and you say: I have a great patch to make route B work, they are not going to take it. Secondly, if you disagree with an architectural decision, you can't be expected to make the chosen architecture work. Especially not if your patch may be rejected anyway.

The number of patches that get rejected is staggering. Practice shows that 'patches welcome' is just not true.


It's unfortunate that this being down voted. Because he means it sincerely.


The "If you're not happy submit a patch or shut up" is exactly the arrogant and absurd attitude that kills open source projects.


No, "I'm not happy and it's your job to fix it" is exactly the arrogant and absurd attitude that kills open source projects.


Downvoted you both. Both attitudes are neither arrogant nor absurd. They just stem from different expectations and beliefs. These kind of statements aren't going to convince anyone. Explain why they are wrong. 'Being arrogant' is not an explanation: it's an accusation, that'll immediately get the other on the defensive.


If you really need an explanation for why slavery is wrong, I think you're beyond reasoning with.


I don't understand your comment. Are you suggesting one side of the above argument implicitly condones slavery? Or do you feel that my argument is invalid, because it could equally apply to a discussion about slavery in which people resort to name calling?


Now you're just being deliberately obtuse. Nobody needs to be told that demanding unpaid labor of open-source contributors is condoning slavery, and nobody is owed an explanation of why unless they're a small child or mentally handicapped.


Eta_carinae did not demand that open source authors fix any problem a user complains about. He only stated that the exact opposite attitude is not a good idea. Arguing against A is not the same as arguing in favor of (not A), because there are more than 2 possible positions on the issue.

Similarly, cheald does not demand that users of open source projects contribute fixes for bugs. He also only stated that the exact opposite attitude is not a good idea.

Arguing either of those extremes is pointless: the discussion starts polarized and neither side will yield an inch. Introducing slavery into the discussion doesn't help.

Most authors of open source projects are interested in having their projects be used by many others. It is the usefulness to many others that provides a sense of accomplishment. If they don't pay some attention to problems those others encounter and for instance fix clear bugs in early releases, their chances of achieving that goal are lower. Observing this fact about the system is not argument in favor of slavery. There are no normative statements involved.

Similarly, if you, as a user of an open source project, want some bug fixed, the best way to go about it is often to write the code yourself and offer it for inclusion. That suggestion does not reduce them to slaves either.

To make a bazaar work, all parties involved have to be flexible in their expectations.


Huh? The time I've invested in open-source contributions has had payoffs massively greater than any work I've ever done for a paycheck. It's just not necessarily that I get paid for the work, rather, I get paid because of the work.

Maybe your experience with open-source is different. I think most contributors do it for joy, anyway.


Has the entire population of HN suddenly lost the ability to comprehend English?

Demanding unpaid labour has nothing to do with you or anyone else volunteering labour. My words cannot possibly be construed as saying volunteer work in open source is slavery.


Even the top ranked essay on exploitation of the free software industry[1] disagrees with you:

"I do not believe that engineers creating software for other engineers results in exploitation."

Squeaky wheel driven development is not slavery. Users are "free" to demand features, and developers are "free" to ignore the requests. Your premise is absurd.

1. http://www.bearcave.com/software/btp/freesoft.html


You have utterly lost the context of the thread, which was an insufferable fool whining about developers welcoming patches instead of doing whatever is demanded of them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: