Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Where Are The Bytes?

Post Syndicated from Bradley M. Kuhn original http://ebb.org/bkuhn/blog/2010/06/11/develop-in-public.html

A few years ago, I was considering starting a Free Software project. I
never did start that one, but I learned something valuable in the
process. When I thought about starting this project, I did what I
usually do: ask someone who knows more about the topic than I do. So I
phoned my friend Loïc Dachary, who
has started many Free Software projects, and asked him for advice.

Before I could even describe the idea, Loïc said: you don’t have a
URL?
I was taken aback; I said: but I haven’t started yet.
He said: of course you have, you’re talking to me about it, so
you’ve started already
. The most important thing you can tell
me
, he said, is Where are the bytes?

Loïc explained further: Most projects don’t succeed. The hardest
part about a software freedom project is carrying it far enough so it
can survive even if its founders quit. Therefore, under Loïc’s
theory, the most important task at the project’s start is to generate
those bytes, in hopes those bytes find their way to the a group of
developers who will help keep the project alive.

But, what does he mean by “bytes”? He means, quite simply,
that you have to core dump your thinking, your code, your plans, your
ideas, just about everything on a public URL that everyone can take a
look at. Push bytes. Push them out every time you generate a few.
It’s the only chance your software freedom project has.

The first goal of a software freedom project is to gain developers. No
project can have long-term success without a diverse developer base.
The problem is, the initial development work and project planning too
often ends up trapped in the head of a few developers. It’s human
nature: How can I spend my time telling everyone about what I’m
doing? If I do that, when will I actually do anything?

Successful software freedom project leaders resist this human urge and
do the seemingly counterintuitive thing: they dump their bytes on the
public, even if it slows them down a bit.

This process is even more essential in the network age. If someone
wants to find a program that does a job, the first tool is a search
engine: to find out if someone else has done it yet. Your project’s
future depends completely that every such search performed helps
developers find your bytes.

In early 2001, I asked Larry
Wall
, of all the projects he’d worked on, which was the hardest.
His answer was quick: when I was developing the first version of
perl5,
Larry said, I felt like I had to code completely alone and
just make it work by myself
. Of course, Larry’s a very talented guy
who can make that happen: generate something by himself that everyone
wanted to use. While I haven’t asked him what he’d do in today’s world
if he was charged with a similar task, I can guess — especially
given at how public the Perl6 process has been — that he’d instead
use the new network tools, such as DVCS, to push his bytes early and
often and seek to get more developers involved
early.0

Admittedly, most developers’ first urge is to hide
everything. We’ll release it when it’s ready, is often heard, or
— even worse — Our core team works so well together;
it’ll just slow us down to make things public now
. Truth is, this
is a dangerous mixture of fear and narcissism — the very same
drives that lead proprietary software developers to keep things
proprietary.

Software freedom developers have the opportunity to actually get past
the simple reality of software development: all code sucks, and usually
isn’t complete. Yet, it’s still essential that the community see what’s
going on at ever step, from the empty codebase and beyond. When a
project is seen as active, that draws in developers and gives the
project hope of success.

When I was in college, one of the teams in a software engineering class
crashed and burned; their project failed hopelessly. This happened
despite one of the team members spending about half the semester up long
nights, coding by himself, ignoring the other team members. In their
final evaluation, the professor pointed out: Being a software
developer isn’t like being a fighter pilot
. The student, missing
the point, quipped: Yeah, I know, at least a fighter pilot has a
wingman
. Truth is, one person, or two people, or even a small team,
aren’t going to make a software freedom project succeed. It’s only
going to succeed when a large community bolsters it and prevents any
single point of failure.

Nevertheless, most software freedom projects are going to fail. But,
there is no shame in pushing out a bunch of bytes, encouraging people to
take a look, and giving up later if it just doesn’t make it. All of
science works this way, and there’s no reason computer science should be
any different. Keeping your project private assures its failure; the
only benefit is that you can hide that you even tried. As my graduate
advisor told me when I was worried my thesis wasn’t a success: a
negative result can be just as compelling as a positive one
. What’s
important is to make sure all results are published and available for
public scrutiny.


When I
started discussing
this idea a few weeks ago
, some argued that early GNU programs
— the founding software of our community — were developed in
private initially. This much is true, but just because GNU developers
once operated that way doesn’t mean it was the right way. We have the
tools now to easily do development in public, so we should. In my view,
today, it’s not really in the spirit of software freedom until the
project, including its design discussions, plans, and prototypes are all
developed in public. Code (regardless of its license) merely dumped
over the wall on intervals deserves to be forked by a community
committed to public development.


Update (2010-06-12): I completely forgot to mention
The Risks of
Distributed Version Control
by Ben Collins-Sussman
, which
is five years old now but still useful. Ben is making a similar
point to mine, and pointing out how some uses of DVCS can cause the
effects that I’m encouraging developers to avoid. I think DVCS is
like any tool: it can be used wrongly. The usage Ben warns about
should be avoided, and DVCS, when used correctly, assists
in the public software development process.


0Note that pushing code
out to the public in the mid-1990s was substantially more arduous (from a
technological perspective) than it is today. Those of you who don’t
remember shar archives may not realize that. 🙂

Change of Plans

Post Syndicated from Lennart Poettering original https://0pointer.net/blog/projects/linuxtag2k10.html

The upcoming week I’ll do two talks at LinuxTag 2010 at the Berlin Fair Grounds. One of them was only
added to the schedule today, about
systemd
. Systemd has never been presented in a public talk before, so make
sure to attend this historic moment… ;-). Read about what has been written about systemd
so far
, so that you can ask the sharpest questions during my
presentation.

My second talk might be about stuff a little less reported in the press, but
still very interesting, about Surround Sound in Gnome.

See you at LinuxTag!

Стените

Post Syndicated from RealEnder original https://alex.stanev.org/blog/?p=244

Искам да ви разкажа една история.

Има една група хора, които познават живота. Познават механиката. Знаят как се случват нещата. Да се обадиш на онзи, да почерпиш другия, да бутнеш на третия. Обикновенно, те заемат позиция, от която зависи едно или друго по-голямо решение за живота на другите. Тъй като всички знаят “как стават работите”, всеки елемент от картинката изгражда стена около услугите си. Нарочно оставя задна вратичка, за да може все пак да се изпълни процеса, в който е критична точка. За съответната услуга има и съответното поощрение.

Какво става обаче, когато работещ по горната схема елемент, опита да получи полагаемите му услуги(като гражданин на НРБ?) от останалите крепости? Очевидно, налага му се да търси задните вратички. И не просто му се налага – той само тях познава. Не мисли, че всъщност някой може и да си върши работата, за която му плащат, без да иска нещо допълнително. Така малкото състояние(без значение под какво форма е то) се стопява много по-бързо, от колкото е натрупано и в един момент се излиза на минус. Особено, ако от теб зависят малко неща. Тогава само дължиш на “Заверата”, защото рядко ти се случва да й даваш.

Някои хора казват, че съм малък и не помня много неща, които всъщност си спомянм. Горното е системата на “Второ направление” – а иначе стоката, предназначена за външнотърговския(към и извън СИВ) пазар, продавана “под тезгяха” на вътрешния. На “приятели”. Които ще ти върнат услугата.

Зная колко е трудно да се дефинират, налагат и изпълняват определени бизнес-процеси, в организации, където Второто направление е Първата власт. Нещата не стават с удари по масата, не стават и с внимателни опити за цивилизоване и образоване. Всъщност, ако в опита си не попаднеш в примката на ВН, може да се отчита като умерен успех:)

Истината, поне за мен, е, че всеки, работещ по тези схеми трябва да страда. И то от несъвършенствата на схемата в която е попаднал. Всеки кадърен управленец, осъзнал проблема, може да създаде несъвършенства – понижаване на отговорностите, възлагане на други, промяна на процеса и какво ли още не.

Накрая остана да споменем и другите – тези, които нямат вътрешен човек в крепостта. В зависимост от звяра вътре, те или минават бързо и безропотно, преди да се е стоварила решетката връз главите им, или просто чакат да се вдигне моста. Много от тях мечтаят да бъдат част от системата. Други просто псуват, пушат, пият и правят други неморални и незаконни неща (не задължително в този ред).

А какво правиш ти?

O’Reilly Book Deal – Get Security and Other Ebooks Cheap Today

Post Syndicated from David original http://devilsadvocatesecurity.blogspot.com/2010/05/oreilly-book-deal-get-security-and.html

O’Reilly has a coupon available for today only that makes any one ebook in their store $10. If you’re like me and like to have an electronic edition handy, this is a great deal for books that are updated and searchable. Their security books can be found here. You’ll want to use coupon code “FAVFA”.

Mango Lassi is Back

Post Syndicated from Lennart Poettering original https://0pointer.net/blog/projects/mango-lassi-is-back.html

Mango Lassi's Icon

Sven Herzberg has recently
been doing a lot of work on Mango Lassi, a
project deserving love but which I as its original author haven’t touched
in 3 years.

His work is already bearing fruits:

Mango Lassi

Distribution packagers, please go and package his version, Mango Lassi is an
awesome, wonderful tool that needs distributor love.

If you want to use Mango Lassi without waiting for the distribution packagers to catch up, Sven has built some packages for you in the OpenSUSE Build Service.

Sven, KUTGW!

Check Facebook Privacy Settings with ReclaimPrivacyRights.org’s Scanner Bookmarklet

Post Syndicated from David original http://devilsadvocatesecurity.blogspot.com/2010/05/check-facebook-privacy-settings-with.html


ReclaimPrivacyRights.org provides a simple bookmarklet that works simply by loading it when you visit your Privacy settings page on Facebook. Simple, neat, and it appears to be a neat way to get a basic checkup. Better, the source code is available for review.

Facebook Friend Suggestions – Not a Virus!

Post Syndicated from David original http://devilsadvocatesecurity.blogspot.com/2010/05/facebook-friend-suggestions-not-virus.html

Facebook status updates are quickly being populated with warnings that the suggest a friend notes that are appearing in users inboxes are virus driven. They’re not – in fact, Facebook has released a notice that AllFacebook.com posted stating

“This is neither a bug nor a virus, and the “Virus Alert” status update is incorrect. Friend suggestions are now mutual and will appear for both users involved. That is, if I suggest that one person become friends with another, both the person I suggested and the person to whom I sent the suggestion will receive the notification.”

The fact that the Facebook populace quickly communicates about a potential issue is good – the fact that false information is spreading quickly is not as good – but I’d rather my users avoid a fake virus than not avoid a real one.

The collective thoughts of the interwebz