What does it mean to be an Open Source author? A story from the inside
2008-12-16 12:33
567 查看
http://www.jroller.com/jppf/The Java Parallel Processing Framework (JPPF) is a grid computing toolkit for
Java that makes it easy to run applications in parallel, and speed up
their execution by orders of magnitude.
Write once, deploy once, execute everywhere!
What does it mean to be an Open Source author? A story from the inside
I
hear daily about open source projects, the open source business model,
what it means in terms of freedom, choice, risks, investment, etc...
What I rarely hear about is what is life like for those who actually
contribute and dedicate a part of their life to open source?
I do not pretend to understand how it is for most open source
contributors, or even that there are patterns to understand. However I
do believe that there are stories worth telling. Here is mine, I'll let
you appreciate ... or not :)
First, the project is called JPPF (Java Parallel Processing Framework)
and that's all I'm going to say about it. This article is not about the
project itself, but about the difference it makes and the impact it has
in people's lives, including mine.
He was thinking, "gee, this looks cool, why don't I make it publicly
available for free?".
It's one of these "what the heck" ideas that pops in our head for no reason.
Thus, the project was borne and dully registered on SourceForge.
It seemed so exciting at the time, and you know what? After over 3
years of (sometimes) gruesome work, it's more exciting than ever.
guy, working by himself, doing basically whatever he wanted to, a free
electron with a vague sense of purpose and a particular view of what
his free time was about.
This was a time of long hours, early mornings, late nights, week-ends
that passed without my noticing, lots of cigarettes and coffee.
Although I have since expanded my horizons and I also do jasmine tea.
Yep, that was me. I loved coding, I still do, and I always will.
project started gathering some momentum, as a small community of users
started to use it, but why was it not working in this case, or why did
it not have this feature, or how could I do this, etc...? You get the
drift.
Oh my, now I had to start interacting with other folks! What was I to do?
That started a (thankfully short) period of intense existential
self-questioning. What was the purpose of this project? Why did I
actually open-source it?
I resolved this by deciding unilaterally that it would be a free
contribution, for whomever would be interested enough to look into it.
I also decided that it was my personal responsibility to support these
brave folks into using the project, and to make it, as much as
possible, a happy experience for them.
out of it. These people are great! I can't tell enough how much of a
difference they have made to the project. Here's a summary of how:
they are from all over the world, isn't that cool? I have had questions, comments and criticism from people on 5 continents
every question they ask is a potential feature, and has often become a real feature
every bug discovered contributes to the quality of the project
most requests for clarification have generated an entry in the documentation
many users were so kind, they actually thanked me and encouraged me! Every time it happens, this makes my day
Beloved Users, you are the only reason why this project is still
present. If this project made a difference in your life, you
undoubtedly made a huge one in mine. I love you.
of them made the jump from contributors to active project members.
Therefore, it was no longer a one-man-show. I was no more free to do
anything I wanted, and was accountable to not only myself, but also
everyone in the team. It also generated additional work: we had to
setup some processes, share ideas about architecture, design and
implementation, ramp-up the newcomers and so forth.
Almost immediately, the flow of ideas transformed what was
possible for the project, not only in the future, but right then and
there. The project expanded, along with the vision we had of it. As a
consequence, the team also expanded, which in turn generated its own
set of issues and interrogations...
leadership. What is a leader? Here is the definition I go by: "a leader
is someone who gets others into action by enrolling them into a
possibility, such that they are touched, moved and inspired by that
possibility".
By that definition, I can honestly tell I have had many
successes and many failures. There are two huge failures that I have
not yet overcome:
I failed to keep the team excited and inspired. I'm currently the
only active contributor and have not heard from the others in months.
Whatever the reason, I accept this at it is. Each team member will
always have a place in the project, and I thank you guys for everything
you've done, thank you a thousand times
I failed to find a leader for the project. Or is it that I failed
to let go of my perceived importance? In any case, I find it dreadful
that the project could just end if, for instance, I suffered a brain
attack that would eradicate my last (and only) remaining neuron.
I am present to the fact that the project can only reach its full potential when these issues have been resolved.
has to be a web site to present it, explain what it does, document it,
support the users, etc.
Also, to attract new users and retain the existing ones, it has to be
sexy, interesting, comfortable, and easy to navigate.
I'm a programmer, for goodness sake, not a web designer! Yes, I
know HTML, CSS, some PHP. Yes I developed my own templating system that
makes the web site maintenance so much easier. How is it that the
various versions of the web site I developed always came out as ugly,
crappy, boring or often all 3 at once? Hum, I definitely do not have
the vision of an artist, and I need professional assistance in that
area.
I didn't have to look far: my sister is a professional graphics
designer, and in a couple hours came up with a design that is light
years better than anything I could do in weeks (or months or years for
that matter, I just don't have that talent). Isa: thank you for your
generosity and for sharing your talent!
a lot of documentation, support forums. But what is the point, if no
one knows about it?
This is where the concept of promoting the project comes into
play. How does that work? I don't think it's a secret: one has to learn
what the content publishers love to read. It takes time, trials and
errors, finding the appropriate channels, and sometimes ... being bold
and audacious. You'll never know whether the great news you have about
your project can be published, unless you actually submit it to those
whose job is to publish it.
Some of the channels I have been successful with in that area:
online magazines
blogs sites
related technology sites
online presentations (webinars)
in-person presentations
I cannot emphasize enough how this promotion work allows a project to take off and make a difference at any kind of scale.
Beloved online publishers and journalists, thank you for the
astonishing job you are doing at publishing about people, technology
and open source. I love you.
you, beloved reader, for reading this far :)
all those who work on and contribute to open source software. Keep the spirit alive!
everyone who uses open source. Without you guys, there'd be nothing to use
Stay in tune...
Java that makes it easy to run applications in parallel, and speed up
their execution by orders of magnitude.
Write once, deploy once, execute everywhere!
What does it mean to be an Open Source author? A story from the inside
I
hear daily about open source projects, the open source business model,
what it means in terms of freedom, choice, risks, investment, etc...
What I rarely hear about is what is life like for those who actually
contribute and dedicate a part of their life to open source?
I do not pretend to understand how it is for most open source
contributors, or even that there are patterns to understand. However I
do believe that there are stories worth telling. Here is mine, I'll let
you appreciate ... or not :)
First, the project is called JPPF (Java Parallel Processing Framework)
and that's all I'm going to say about it. This article is not about the
project itself, but about the difference it makes and the impact it has
in people's lives, including mine.
The creation
Once upon a time, there was a geek with an idea and a piece of code.He was thinking, "gee, this looks cool, why don't I make it publicly
available for free?".
It's one of these "what the heck" ideas that pops in our head for no reason.
Thus, the project was borne and dully registered on SourceForge.
It seemed so exciting at the time, and you know what? After over 3
years of (sometimes) gruesome work, it's more exciting than ever.
The lonely work
For a long time, there was only oneguy, working by himself, doing basically whatever he wanted to, a free
electron with a vague sense of purpose and a particular view of what
his free time was about.
This was a time of long hours, early mornings, late nights, week-ends
that passed without my noticing, lots of cigarettes and coffee.
Although I have since expanded my horizons and I also do jasmine tea.
Yep, that was me. I loved coding, I still do, and I always will.
From 0 to more than 1 user
There came a time of coding, releasing, coding, releasing. Theproject started gathering some momentum, as a small community of users
started to use it, but why was it not working in this case, or why did
it not have this feature, or how could I do this, etc...? You get the
drift.
Oh my, now I had to start interacting with other folks! What was I to do?
That started a (thankfully short) period of intense existential
self-questioning. What was the purpose of this project? Why did I
actually open-source it?
I resolved this by deciding unilaterally that it would be a free
contribution, for whomever would be interested enough to look into it.
I also decided that it was my personal responsibility to support these
brave folks into using the project, and to make it, as much as
possible, a happy experience for them.
Users as contributors
Hence I started communicating with others, and really got a blastout of it. These people are great! I can't tell enough how much of a
difference they have made to the project. Here's a summary of how:
they are from all over the world, isn't that cool? I have had questions, comments and criticism from people on 5 continents
every question they ask is a potential feature, and has often become a real feature
every bug discovered contributes to the quality of the project
most requests for clarification have generated an entry in the documentation
many users were so kind, they actually thanked me and encouraged me! Every time it happens, this makes my day
Beloved Users, you are the only reason why this project is still
present. If this project made a difference in your life, you
undoubtedly made a huge one in mine. I love you.
From 1 guy to a team
Another wonderful effect of interacting with the users, is that someof them made the jump from contributors to active project members.
Therefore, it was no longer a one-man-show. I was no more free to do
anything I wanted, and was accountable to not only myself, but also
everyone in the team. It also generated additional work: we had to
setup some processes, share ideas about architecture, design and
implementation, ramp-up the newcomers and so forth.
Almost immediately, the flow of ideas transformed what was
possible for the project, not only in the future, but right then and
there. The project expanded, along with the vision we had of it. As a
consequence, the team also expanded, which in turn generated its own
set of issues and interrogations...
Leadership
The notion of team and community is intricately tied to that ofleadership. What is a leader? Here is the definition I go by: "a leader
is someone who gets others into action by enrolling them into a
possibility, such that they are touched, moved and inspired by that
possibility".
By that definition, I can honestly tell I have had many
successes and many failures. There are two huge failures that I have
not yet overcome:
I failed to keep the team excited and inspired. I'm currently the
only active contributor and have not heard from the others in months.
Whatever the reason, I accept this at it is. Each team member will
always have a place in the project, and I thank you guys for everything
you've done, thank you a thousand times
I failed to find a leader for the project. Or is it that I failed
to let go of my perceived importance? In any case, I find it dreadful
that the project could just end if, for instance, I suffered a brain
attack that would eradicate my last (and only) remaining neuron.
I am present to the fact that the project can only reach its full potential when these issues have been resolved.
Presenting a front to the world
The project is hosted and lives on the net. It implies that therehas to be a web site to present it, explain what it does, document it,
support the users, etc.
Also, to attract new users and retain the existing ones, it has to be
sexy, interesting, comfortable, and easy to navigate.
I'm a programmer, for goodness sake, not a web designer! Yes, I
know HTML, CSS, some PHP. Yes I developed my own templating system that
makes the web site maintenance so much easier. How is it that the
various versions of the web site I developed always came out as ugly,
crappy, boring or often all 3 at once? Hum, I definitely do not have
the vision of an artist, and I need professional assistance in that
area.
I didn't have to look far: my sister is a professional graphics
designer, and in a couple hours came up with a design that is light
years better than anything I could do in weeks (or months or years for
that matter, I just don't have that talent). Isa: thank you for your
generosity and for sharing your talent!
Promoting, Marketing, PR-ing, Publishing
All right! the project is working, there's a great looking web site,a lot of documentation, support forums. But what is the point, if no
one knows about it?
This is where the concept of promoting the project comes into
play. How does that work? I don't think it's a secret: one has to learn
what the content publishers love to read. It takes time, trials and
errors, finding the appropriate channels, and sometimes ... being bold
and audacious. You'll never know whether the great news you have about
your project can be published, unless you actually submit it to those
whose job is to publish it.
Some of the channels I have been successful with in that area:
online magazines
blogs sites
related technology sites
online presentations (webinars)
in-person presentations
I cannot emphasize enough how this promotion work allows a project to take off and make a difference at any kind of scale.
Beloved online publishers and journalists, thank you for the
astonishing job you are doing at publishing about people, technology
and open source. I love you.
Acknowledgments
I want to thank:you, beloved reader, for reading this far :)
all those who work on and contribute to open source software. Keep the spirit alive!
everyone who uses open source. Without you guys, there'd be nothing to use
Stay in tune...
相关文章推荐
- What does it mean for an algorithm to be fair
- The package needs to be reinstalled, but I can't find an archive for it.
- The package NAME needs to be reinstalled, but I can’t find an archive for it
- cannot be resolved to absolute file path because it does not reside in the file system
- maven构建 出错:cannot be resolved to absolute file path because it does not reside in the file system
- The 10 Best Open Source Projects You Should Be Volunteering To Help With
- openfire安装The Openfire database schema does not appear to be installed. Follow the installation guid
- An introduction to the P/Invoke Library open source project
- linux下安装PHP的CI框架,出现Your view folder path does not appear to be set correctly. Please open the following file and correct this: i
- mm_The type of the expression must be an array type but it resolved to List
- Unable to load dbxmss.dll (ErrorCode 16). It may be missing from the system Path
- The RT Patch---what needs to be done to get it into Mainline ---Steven Rostedt
- What is SynchronizationContext, and what does it mean to capture and use it?
- [转]How to remove an assembly from the Cache if it is locked by Microsoft Installer
- The type of the expression must be an array type but it resolved to Point
- The server encountered an internal error (No action instance for path /user could be created) that prevented it from fulfilling
- 每日刷题(2015/6/23)You are given the source to an application which crashes when it is run.
- The package needs to be reinstalled,but I can't find an archive for it
- enum should not be used as an identifier since it is a reserved keyword from source level 1.5 on
- It is said that wars in the 21st century will be fought over water. Do you agree? What do you think can be done now to alleviate