I’ve been thinking lately about ways to improve ways in which I interact with Free Software projects, and ways in which they interact with me. Before I proceed to take steps or make suggestions, I’d like to see if others share my traits and observations.
Here are some questions I have been thinking of. If you’d like to help give me anecdotal evidence, please post a comment below this post. Identify the question numbers you are answering. It helps me if you can give specific examples, but if you don’t have the time or memory for that, no problem.
I will post my own answers in a day or two, but the point of this post is listening, not talking, so I’ll not post them immediately.
Hobbies (General – any geeks)
- H1: To what degree do you like your hobbies to be challenging vs. easy? If something isn’t challenging, does that make it a good, bad, or indifferent candidate for a hobby
- H2: To what degree do you like your hobbies to be educational or enlightening?
- H3: How do you pick up new hobbies? Do you go looking for them? Do you stumble upon them? What excites you to commit time and/or money to them at the beginning?
- H4: How does your interest wane? What causes you to lose interest in hobbies?
- H5: For how long do you tend to maintain hobbies? Sub-hobbies?
- H6: Are your hobbies or sub-hobbies cyclical? In other words, do you lose interest in a hobby for a time, then regain interest for a time, then lose it again? What is the length of time of these cycles, if any?
- H7: Do you prefer social hobbies or solitary hobbies? (Note that many hobbies, including programming, video gaming, reading, knitting, etc. could be either social or solitary, depending on the inclination of individuals.)
- H8: Have you ever felt guilt about wanting to stop a hobby or sub-hobby? (For instance, from stopping supporting users of your software project, readers of your e-zine, etc) Did the guilt keep you going? Was that a good thing?
Examples: video games might be a challenging hobby (depending on the person) but in most cases aren’t educational.
A hobby might be “video game playing” or “being a Debian developer.” A sub-hobby might be “playing GTA IV”, “playing RPGs”, or “maintaining mutt”.
Free/Open Source Hobbies
- F1: Considering your answers above, do your FLOSS activities follow the same general pattern as your other hobbies/interests, or are there differences? If there are differences, what are they?
- F2: Has concern for being expected to support software longer than you will have an interest in it ever been a factor in a decision whether to release source code publicly, or how public to make a release?
- F3: Has concern over the long-term interest of a submitter in maintaining their patch/contribution ever caused you to consider rejecting it? (Or caused you to avoid using software over the same concern about its author)
- F4: In general, do you find requirements FLOSS projects place on first-time contributors to be too stringent, not stringent enough, or about right?
- F5: Have you ever continued contributing to a project past the point where your interest would otherwise motivate you to do so? If so, what caused you to do this? Do you believe that cause is a general positive or negative force for members of the FLOSS community?
- F6: Have there ever been factors that caused you to stop contributing to a project even though you still had an active interest in doing so? What were they?
- F7: Have you ever wanted to be able to take a break as a contributor or maintainer of a project, and be able to return to contributing to it later? If so, have you found it easy to do so?
- F8: What is your typical length of engagement with FLOSS projects (such as Debian) and sub-projects (such as maintaining a particular package)?
- F9: Does a change in social group ever encourage or discourage you from changing hobbies or sub-hobbies?
- F10: Have you ever wanted to stop working on a project/sub-project because the problems involved were no longer challenging or educational to you?
- F11: Have you ever wanted to stop working on a project/sub-project because of issues with the people involved?
Examples on F9: If, say, you are a long-time Perl user and have gone to Perl conferences, but now you are interested in Ruby, would your involvement with the Perl community cause you to avoid taking up the Ruby programming hobby? Or would it cause you to cut your ties with Perl less quickly than your changing interest might dictate? (This is a completely arbitrary example and isn’t meant to start a $LANGUAGE thread.)
Changes over time
- C1: Do you believe that your answers to any of the above questions have changed over time? If yes, then:
- C2: What kinds of changes have happened?
- C3: What caused the change?
- C4: Do you believe the changes produced positive results for you? For the community?
Yikes, that’s a long list of questions, all alike.
H1: I like challenging hobbies because I get bored with the others.
H2: I like my hobbies to have an “impact”. There are at least three aspects to this: to create something that is useful to other people, to do something that nobody has done yet and to create something awesome. For instance, as much as I’m tempted to, I don’t play Minecraft. It has a lot of aspect 3 and a bit of 2, but it’s lacking in 1. It would be a different story if I were to implement Minecraft. Another example is that I program in Haskell, not C. I can simply create more things faster in Haskell.
H6: Yes, they cycle a lot. Too little time and too many things to do, so the “most interesting one” tends to take the focus for a little while. Some hobbies do cease to be interesting to me. For instance, I have stopped contributing to the Haskell Wikibook.
H7: Whatever falls in place, I choose hobbies according to H2.
F1: Same.
F4: Actually, I never really contributed to an existing project because the bar of entry is often too high in terms of technical expertise / learning required. I usually only start my own projects.
F5: Haskell wikibook. Habit.
F9: The wikibook never had a real community, but it was another person who triggered my leave. Nothing bad or unexpected, someone changed a text I wrote and since there was not much contribution anyway, it made me realize that the Wikipedia model does not work for textbook creation. So, it was a fault of the system, though notably the “people part” of the system.
F10: Yes, see above.
H2: I like any hobbies I put effort into (as opposed to those I just use to relax) to have some purpose, though this isn’t usually (directly) educational
H3: computing-related hobbies: I have two types: ones I stumble across and find interesting and which don’t already seem to have attracted lots of interest, and those I start myself
H4/H5: Until I find something else which seems more worthwhile — can be months or years
H6: no
To be frank, my personal projects tend to dominate others. And working with code in a day job doesn’t leave much motivation to do computer-related work in free time.
H1: To what degree do you like your hobbies to be challenging vs. easy? If something isn’t challenging, does that make it a good, bad, or indifferent candidate for a hobby
Indifferent. I tend to seek hobbies outside of my skill set, or challenge
myself within my existing hobbies, but I get at least as much enjoyment
from doing the things that are already easy for me (playing an instrument
that I am good at, knocking out a program in a language/domain that I have
already mastered).
H2: To what degree do you like your hobbies to be educational or enlightening?
I like hobbies that feel like they have no immediate purpose, so that I can
take them less seriously. Hobbies approached this way often turn out to be
enlightening after the fact, but not in predictable ways.
H3: How do you pick up new hobbies? Do you go looking for them? Do you stumble upon them? What excites you to commit time and/or money to them at the beginning?
I generally pick up things that scratch an itch — an idea for a song, or game,
or story, or something that should exist in the world.
H4: How does your interest wane? What causes you to lose interest in hobbies?
I get bored of *playing* solitaire games after I’ve beaten them or after the
gameplay has become repetative. I will also drop new hobbies relatively
quickly if the learning curve is too steep (e.g., 3D modeling in Blender,
hacking on spaghetti projects like OpenOffice) or if there is too much
friction in starting or maintaining the hobby (e.g., any project targeting
Apple platforms). I don’t tend to lose interest in generative or social
hobbies once I’ve aquired them.
H5: For how long do you tend to maintain hobbies? Sub-hobbies?
Indefinitely (see above)
H6: Are your hobbies or sub-hobbies cyclical? In other words, do you lose interest in a hobby for a time, then regain interest for a time, then lose it again? What is the length of time of these cycles, if any?
My creative urges generally come in 1-3 month cycles, so I tend to oscillate
between creative and passive (e.g., solitaire games, reading, …) hobbies at
this rate. During a creative phase I will not necessarily focus on a single
hobby or project. Social hobbies tend to happen at the rate that friends
initiate them, so they are independent of my personal cycles.
H7: Do you prefer social hobbies or solitary hobbies? (Note that many hobbies, including programming, video gaming, reading, knitting, etc. could be either social or solitary, depending on the inclination of individuals.)
I enjoy both, but it rarely occurs to me to initiate social hobbies. If I were
spending a lot of time on both, I would probably prefer solitary hobbies.
H8: Have you ever felt guilt about wanting to stop a hobby or sub-hobby? (For instance, from stopping supporting users of your software project, readers of your e-zine, etc) Did the guilt keep you going? Was that a good thing?
I have felt guilt about not contributing more to particular open source projects
(usually because I did not have time to keep my build environment up-to-date
or fell behind in understanding the code base). This guilt has never been
a useful motivator.
F1: Considering your answers above, do your FLOSS activities follow the same general pattern as your other hobbies/interests, or are there differences? If there are differences, what are they?
My code contributions to existing FLOSS projects (bug fixes and feature patches)
all correspond to personal itches that were easy for me to fix — not necessarily
easy problems, but ones that fit my existing language and domain knowledge and
where it was easy to get familiar with the code and set up a build environment
(independent of the VCS a project is using, git has turned out to lower this
activation barrier) — so this fits my hobby pattern of itch-scratching and
reasonable learning curve.
My other contribution is teaching FLOSS tools (programs and programming),
which is primarily motivated by the skills and practices that I would like
to see in my department (so this is also itch scratching in an area,
teaching, that I am relatively good at).
F2: Has concern for being expected to support software longer than you will have an interest in it ever been a factor in a decision whether to release source code publicly, or how public to make a release?
No. My attitude towards FLOSS support has always been that the code is
available for anyone to fix (or pay someone to fix) and redistribute.
(An exception to this is packaging software for Debian, where there is a
social contract to maintain the package. Because of this, I would probably
not contribute a package unless it was sufficiently work-related that I
could expect to be allocating work hours towards maintenance of that software
anyway).
F3: Has concern over the long-term interest of a submitter in maintaining their patch/contribution ever caused you to consider rejecting it? (Or caused you to avoid using software over the same concern about its author)
No.
F4: In general, do you find requirements FLOSS projects place on first-time contributors to be too stringent, not stringent enough, or about right?
All of the projects that I have contributed patches to have had very low
barriers to entry, but this is self-selecting (i.e., there are projects that I
decided not to hack on because the learning curve was too steep or the
community too hostile) — I think that the barriers to entry for FLOSS
projects in general are very heterogeneous. Cases where a patch needed
a few rounds of polishing did not really raise the barrier to entry (in part
due to tools like git).
F5: Have you ever continued contributing to a project past the point where your interest would otherwise motivate you to do so? If so, what caused you to do this? Do you believe that cause is a general positive or negative force for members of the FLOSS community?
No.
F6: Have there ever been factors that caused you to stop contributing to a project even though you still had an active interest in doing so? What were they?
Yes. Hostile community (but these are really cases where I chose not to
contribute in the first place) or inability to keep up with a rapidly
changing code base.
F7: Have you ever wanted to be able to take a break as a contributor or maintainer of a project, and be able to return to contributing to it later? If so, have you found it easy to do so?
Yes. Haven’t tried yet.
F8: What is your typical length of engagement with FLOSS projects (such as Debian) and sub-projects (such as maintaining a particular package)?
Typically one-off patches (so, one to a few days).
F9: Does a change in social group ever encourage or discourage you from changing hobbies or sub-hobbies?
(answer based on the F9 example)
My daily routine includes both vi and emacs, awk and python, so the different
circles that I am involved in do not tend to inhibit each other.
F10: Have you ever wanted to stop working on a project/sub-project because the problems involved were no longer challenging or educational to you?
No. I enjoy solving problems that are easy for me (although this is less true
for problems that would be trivial for anyone — it’s mostly a function of
my sense of usefulness).
F11: Have you ever wanted to stop working on a project/sub-project because of issues with the people involved?
I have dropped certain gaming and dancing hobbies when the group became too
competitive. Otherwise, I have been lucky in my social groups.
C1: Do you believe that your answers to any of the above questions have changed over time? If yes, then:
No.
H1: a hobby should be challenging, but still do-able within my skill set & a reasonable amount of time. ex: learning the basics of a new programming language in a weekend is do-able (but still very challenging) with my current skills, writing a new language in a weekend is not!
H2: almost completely. even what i watch or read is intellectually stimulating – i enjoy things that make me consider different situations, so when i watch TV for instance, the shows are usually sci-fi & have an interesting plot.
H3: stumble upon them usually. and most of the time, if it costs money, it doesn’t become a hobby, simply because i don’t have the money most of the time. of course, if the money and the interest is there…
H4: usually when i realize that a problem is too big for me, or if i keep doing the same thing over and over again, then i stop. also if i keep running into problems i can’t seem to figure out.
H5: hobbies: usually a long time. sub-hobbies: depends on the project
H6: more of a chaotic multi-dimensional ellipsis. i don’t know when or how i may come back to a sub-hobby, but i know when i do come near those points i am not where i was before, and so may actually get further than before (for any number of reasons, more time to devote, more experience, whatever)
H7: i would *like* more social hobbies (i used to play a lot of pencil&paper RPG’s) but right now i mostly have solitary hobbies.
H8: never had this experience…
—-
F1: generally they are the same, though the half-lives of most of my FOSS projects seem to be pretty short.
F2: nope… i’m pretty much a nobody in the coding world, so ATM i’m not worried about people being like: “ZOMG!! you *must* maintain X or my project will implode!!!” not saying that it couldn’t happen, i just don’t think it will any time soon :D
F3: never really thought about this problem… either end of it
F4: depends on the project… i’ve contributed a bit to green_shoes & the shogun machine learning toolkit and while ashbb was more than happy to take my patches for green_shoes, soeren wanted to make sure what i did worked properly. which makes sense in a way. if your GUI blows up that’s bad, but survivable & easier to find & patch than if your random number generator isn’t random and thus you’re getting bad data thrown into the mix, causing your SVM to guess wrong and you not knowing why. and i would imagine the linux kernel would be even *more* stringent. so it depends on the project.
F5: i haven’t really been in the community long enough to gauge, but if i still felt i could make a positive impact then i might continue contributing.
F6: never had this happen, though it might be because of my relative newness.
F7: see above
F8: i can’t tell just yet overall, though for my smaller projects i typically *plan* to continue maintaining/making them nice & perdy, but it doesn’t always work out that way.
F9: yes. the previously mentioned RPG’s… it’s really difficult to play a pencil & paper RPG with only yourself :P though as far as coding goes i haven’t seen any of that yet.
F10: yes
F11: i haven’t worked on many projects with people in any demi-realtime fashion (meaning time-sensitive e-mails or texts or via chatroom or whatever) really i’ve been mostly an independent contributor, instead of a dedicated developer for piece X of project Y.
—–
C1: not really that i’ve been able to see… and nothing that would help me answer the Q’s that follow.
H1: Generally challenging. Tech started out as a hobby. Various sports. DIY mech/ee projects. Various intellectual pursuits. Misc crafts. Art. Brewing.
H2: High degree. Sports would be an exception, and gaming is 50/50.
H3: General broad interest just leads me to them without much effort. The idea of creating something is a recurring theme in those things I choose to commit to.
H4: Very rapid interest decline. I can’t think of any hobbies I’ve had for a particularly long time. Interest decline generally coincides with a falloff in the rate I’m learning new things about the hobby. Applying existing knowledge doesn’t interest me.
H5: Short duration. Once I’ve learned something, it’s boring.
H6: Some are. Cycles are probably… 3-4 years. Ish. Maybe.
H7: Solitary. Even social hobbies I tend to twist into solitary endeavors.
H8: Never.
C1: Not really.
C2: –
C3: –
C4: –
H1: Easy hobbies are boring. I like to stretch myself, and feel that any hobby that doesn’t stretch me in some way is a waste of time.
H2: Since my hobbies tend to slant toward the more mental side of challenging (as opposed to, say, a hobby of running), almost by definition, my hobbies are educational (to me).
In some cases to others. I enjoy sharing my knowledge on photography, for instance.
H3: They spring out of an interest. Example: My photography hobby sprang out of a desire to find a 5760×1200 desktop wallpaper photo to use on my 3-head display. At the time, I found about 6 such images, and the majority had been obviously stitched together from multiple shots, and very poorly. This motivated me to take up landscape photography, which has since grown into a general photography hobby.
H4: In some cases, I mature beyond my hobbies. For instance, I’m no longer interested in collecting baseball cards, as I once was (many a year ago). It’s no longer challenging. My hobby of learning automobile repair/maintenance has been put on hold as of late, for practical reasons–I don’t have a garage or tools where I am currently living. However I intend to pick this hobby back up when I have these resources again.
H5: Years, at least. If it doesn’t last at least a year or two, I probably wouldn’t consider it a hobby. I once bought some inline skates, thinking I would use them regularly. I used them twice. This was a temporary interest that never became a hobby. Ditto on model rockets and gardening.
H6: I don’t think I’ve ever had a cyclical hobby.
H7: I’m an extrovert, I try to make most of my hobbies and interests social when possible. One of my favorite forms of photography, portraiture, requires me to become more social. Perhaps that’s one thing that attracts me to it.
H8: I’ve never felt guilty about a hobby, but about specific hobby-related projects, perhaps. Sometimes I don’t feel like post-processing a photo shoot (in fact I’m procrastinating on one right now, by responding to this post). Guilt will convince me to finish the task today, even though I’m procrastinating right now, and the photos won’t be of any lasting value to me (they are of value to the model).
F1: My FLOSS activities are mostly work-related. Occasionally I have contributed to such projects on my own time–moreso in the past than currently. I find that I spend enough time coding at work, in my free time I prefer to explore other hobbies. When I’ve had non-coding jobs, I’ve spent more free time coding.
F2: No.
F4: Recent example: I can’t get the debian-cd project to even notice a feature request I submitted (along with a patch) to offer suggestions for how I can improve the patch to be included. Counter-example: The debian-cd project included a semi-major patch I contributed while lenny was in deep freeze–2 days prior to the release. So it’s hard to say their lack of response on my first point is related to my “newness” to the project.
F5: No. But most of my contributions are small and piece-meal.
F6: There have been packages I would be interested in adopting and/or contributing to Debian, but I lost my Debian PGP key, and my request to replace it has gone unanswered for over 3 years. Sponsored uploads are enough of a hassle, that I just haven’t bothered.
F8: I’ve been on the Debian maintainer list for several years, but inactive for about 5, due to the problem mentioned above. I still regularly contribute bug reports and patches to various projects.
H1: They have to be challenging or I get bored quickly.
H2: If I’m not learning something, then why am I doing something?
H3: Usually my hobbies involve dragging some esoteric bit of theory kicking and screaming into practice. In order to do so of course, I have to know the theory, so I spend a lot of time mining through moldy old math tomes. Fortunately, for some reason I find flitting from obsession to obsession to keep me highly engaged, as long as I don’t keep trying to hack away on something once I get bored I can keep this up indefinitely.
H4: I lose interest when the problem I don’t have enough tools to get the problem to yield to analysis, when I’ve explored everything I consider worth saying about the topic, or if something shinier grabs my eye.
H5: My usual project time-scale is 3-4 months. Usually I’m juggling 2-3 side-projects at a time.
H6: My interests are incredibly cyclic. I seem to move in ever-increasingly long orbits back through cycles of computer graphics and programming language and abstract math projects before looping back.
H7: Solitary hobbies for the most part, though I do like to engage with a community to have someone to show off my shiny new toys to.
H8: Yes, I have felt guilty about wanting to stop, but I’ve never been able to successfully fuel a hobby on guilt.
F1: Yes.
F2: Yes. I’ve held some code back that I just plain don’t want to have to explain. Nowadays I tend to just ship it and forget it. I think I’ve piled up 80+ repositories on github and hackage that way, and I find it is more productive for me.
F3: I largely stopped contributing to GPL projects in favor of contributing to BSD licensed projects over concerns about the impact of the GPL from a POSIWID perspective, that it tends to cause large organizations, raising their Coase ceiling, to have to buy smaller organizations to side-step the GPL distribution tax.
F4: It varies tremendously from project to project.
F5: I have a number of projects that I maintain, mostly by just applying patches that others send me for wont of another maintainer.
F6: I cut all ties to libagg after the author unilaterally shifted the license from BSD to GPL. I couldn’t look at the code without compromising my ability to safely say the work I was doing on my own was uninfluenced.
F7: Yes, I have, but the result has usually just been that the project lies fallow in the meantime.
F8: Somewhere between 6 months and 5 years.
F9: I became involved in the Haskell community after several very positive exchanges with some of its members. Now I spend much of my time working on Haskell-related projects, so it has definitely encouraged me.
F10: Yes. I often tire of yak-shaving.
F11: Yes. I doubt for instance that I’ll ever contribute anything to glibc with Ulrich Drepper around.
C1: Yes. I think I’ve refined my notion of my optimal work cycle as I’ve gone, along.
C2: I’ve shortened the length of my pet project cycles.
C3: Maximizing my interest level and running out of free time.
C4: I certainly produce a lot more libraries now, and it generates a much wider exposure for my ideas.
Here are my own answers:
H1: Normally I like some element of challenge, typically involving learning something new. Some things that don’t have a challenge, such as watching old episodes of Fawlty Towers, tend to have a recurring occasional interest but not one that is sustainable for the long haul.
H2: That is a key ingredient. If I already know everything there is to know about something, it’s boring.
H3: Usually they are an extension (sometimes a farfetched one, but still) of something I already have some sort of interest in. I started reading 18th century authors, but I already had an interest in literature and history. I started amateur radio, but I was a shortwave listener years ago and my boys enjoyed some simple walkie-talkies. Even the shortwave listening played off an existing electronics and CB radio interest.
H4: Lack of interesting problems, lack of challenging problems, lack of enlightenment, and lack of time.
H5: I have maintained an overall programming hobby, as well as my Debian developer activities, for decades. Participating in specific Debian packages has generally been for a few years. Specific programming languages also generally about a 5-year arc. I play computer games on occasion, but when I do I tend to play them for a few weeks or month, and then not touch them again for another 6-12 months.
H6: Indeed, some are. See H5.
H7: I enjoy both. I typically enjoy ones where I can work by myself, but then share that work with others. Both programming and amateur radio fit that bill. Gaming can be a nice relaxing activity for when I just don’t want to have to talk to anyone.
H8: Yes, especially when wanting to stop maintaining software I wrote. Yes, it did, though I usually didn’t do a great job in that phase.
F1: They are my major hobbies, so it is hard to say.
F2: Yes. I do think about that.
F3: Yes. If I don’t have interest in maintaining something, I don’t want it in my codebase unless someone else does.
F4: Those that send “send patches to mailing list” or with some light requirements are good. DVCS is a great utility. Those that don’t use DVCS and have segregated committer access tend to keep me away.
F5: Yes, mainly because I perceived others had the expectation that I do so. It’s probably a negative force since it saps enthusiasm.
F6: Lack of time. That usually led to lack of interest later.
*F7: Absolutely, but it’s been tough. People expect engagement to be predictable.
F8: Major projects such as Debian could be decades. Others maybe 2-5 years.
F9: Yes. I love the Haskell and Debian communities, for instance, and they are reasons to stay with those technical solutions.
F10: Yes.
F11: Yes. Also with the Debian project ;-)
C1: Yes.
C2: As I’ve had more family commitments, time for hobbies has declined. I have had to pick and choose to an extent I didn’t have to before.
C3: Life changes
C4: For my overall life, yes. For the community — probably no, unless these meta-questions are useful ;-)