# Singular vs Shared Development of Ruby projects

**URL:** <https://www.ruby-forum.com/t/singular-vs-shared-development-of-ruby-projects/147847>\
**Category:** Ruby\
**Created:** [September 6, 2008, 12:18am UTC](https://www.ruby-forum.com/t/singular-vs-shared-development-of-ruby-projects/147847 "2008-09-06T00:18:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![quik77](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/q/dec6dc/32.png) [@quik77](https://www.ruby-forum.com/u/quik77)\
**Post date:** [September 6, 2008, 12:18am UTC](https://www.ruby-forum.com/t/singular-vs-shared-development-of-ruby-projects/147847/1 "2008-09-06T00:18:28Z")

</div>

Hi there,

This may be an awkard question.  
Should development be “singular”, or should it happen in a very BIG  
“shared” environment?

A somewhat lengthy explanation comes next, in an attempt to make myself,  
and this question, clear:

- I have found that, whenever I modify ruby core classes, modules etc…  
that it simplifies _my_ workflow. A lot. Other people might not  
understand what I am doing, but seeing my patterns really makes my life  
super-easy.

A tiny example:

cliner { puts ‘Hi there’ }

All this does is print the line ‘Hi there’ and wrapers coloured ===  
around it  
so that it stands out visually. I could make a method instead but I  
found that  
the {} really helped me visually, especially when there is more text to  
be  
output. It forces me to indent, and this alone helps as well (and I love  
yield+blocks)

However when “interfacing” with the outer world, I tend to not make many  
changes to ruby core idioms etc… as this would confuse people and cause  
extra work for others.

I try to be as “core ruby” as possible, so this influences me for sure.

One problem I have is that, if i use idioms that I personally like and  
enjoy to use (and which indeed help me), I can not however allow this to  
be mandated onto other people. They might not want all these  
modifications which make my life easier, or vice versa i would not want  
their idioms in my projects.

But this brought me to a small dilemma:

- If I want to package a project for other people, I have to invest more  
work, to ensure that it works without my “magic”. And this is exactly  
the point which “prevented” me from even trying to package up something  
that other people could find useful. This extra work would be no real  
fun for me.

So I was thinking of not caring much about it and instead release all  
the .rb files together. (The size would not be a big problem anyway, all  
my .rb files over the last 4 years measure 15 MB in total and the amount  
of stuff I reuse in these .rb files is only 714KB. I could probably  
strip this down even more as I do not use all of it anymore, anyway.  
However in total there would be maybe ~20 .rb files which I would have  
to check and as said… it just takes a bit effort and extra time.)

So how do you feel about this in general? Sometimes i think it would be  
better if everyone could agree on commonly used idioms that get packed  
together and people would actively seek to keep this as some kind of  
loose standard. Something like facets BUT small and actively challenged.  
In facets one can put together many many different things, but in this  
“shared development environment” I’d rather have a voting system where  
people would actively promote or stand against suggestions to modify  
this “standard”.

(I dont like the word standard either.)

Anyway maybe a few of you want to share their opinion here!
