►
From YouTube: The Maintainers: Jimmy Bogard and AutoMapper
Description
In this new series, I'll be interviewing Open Source Maintainers and talk about what open source means to them and why they do it. This episode:
Jimmy Bogard of AutoMapper
Jimmy is a member of the ASPInsiders group, the C# Insiders group, and has received the "Microsoft Most Valuable Professional" (MVP) award every year since 2009. Jimmy is also the creator and maintainer of the popular OSS libraries AutoMapper and MediatR. Jimmy is an independent consultant, and the chief architect at Headspring, a custom software consultancy based in Austin, TX.
- Twitter: @jbogard
- LinkedIn: linkedin.com/in/jimmybogard
- Blog: jimmybogard.com
- Company: headspring.com (company)
A
A
Autumn
epper
got
started
gosh
13
years
ago
now
and,
like
all
of
my
open
source
projects,
it
really
came
out
of
a
project,
and
so
this
was
a.
This
is
an
asp.net
mvc
project
in
like
the
very
very
early
days
of
asp.net
nbc,
and
we
knew
we
didn't
want
to
do
web
forms
because
nbc
was
just
announced
at
the
alt.net
conference
like
a
few
months
before
that,
and
so
we
knew
that
that
was
going
to
be
the
future
and
we
wanted
to
use
it.
A
Nbc,
it
was
really
just
like
here
all
these
pieces,
and
then
you
kind
of
figure
out
how
you
want
to
put
everything
together.
We
saw
very
early
on
that.
There
was
going
to
be
a
problem
in
our
nbc
applications
if
we
used
these
domain
models
as
the
thing
that
was
going
to
be
the
model
for
the
view,
so
the
v
and
mvc
is
model
view
controller
and
it
expects
a
model
and
the
m
my
old
joke
was.
A
The
m
is
silent,
an
asp
to
mvc,
because
there
was
nothing
that
said:
here's
how
to
do
the
m,
so
we
had
to
figure
that
out
and
because
there
was
really
nothing
in
the
framework
to
kind
of
help
you.
What,
with
that
in,
we
thought,
instead
of
using
our
our
kind
of
rich
domain
models
as
a
thing
that
we
passed
through,
we'll
create
this
very,
very
specific
data
transfer,
object
or
dto.
A
That
would
represent
that
information
for
that
screen,
and
we
call
that
those
at
the
time
view
models
didn't
really
have
a
better
name
for
it,
but
that
was
that
was
the
idea
we
had
so
probably
about
a
month
to
six
weeks
into
that
project.
We
started
to
notice
some
interesting
aspects
of
these
view
models
and
that
every
single
view
model
for
every
screen
was
like
hand
designed
bespoke
and
really
for
no
good
reason.
They
were
just
all
different,
not
because
they're
supposed
to
be,
but
just
because
each
developer
would
just
like.
A
Well,
today,
I'm
going
to
design
my
view
model
like
this,
and
this
kind
of
subtleties
that
came
up
where
things
like
names,
sometimes
the
names
would
be
long
and
developers
would
just
shorten
them.
Why
would
they
shorten
them
because
they
felt
like
it?
No
real
reason
why?
And
so
the
next
developer
that
had
to
go
maintain
that
page
would
have
to
translate
in
their
head
like.
Oh,
when
there's
when
you
have
this
property,
it
actually
means
this
property
on
the
model,
and
they
have
to
do
that
kind
of
translation
all
the
time.
A
So
the
architect
at
the
time
committee
is
like
we,
you
know
we
got
to
solve
this
problem.
I
don't
know
what
the
solution
is,
but
here's
what
we're
saying
we're
saying
developers
spend
time
handcrafting
viewmodels
and
that's
that's
not
adding
any
value
to
the
overall
project.
So
can
you
figure
this
out?
A
So
in
a
couple
weeks
I
came
up
with
the
first
prototype
of
automapper
and
the
overall
idea.
There
was
that
that
we
designed
these
view
models
as
kind
of
a
specification
for
what
they
they
should
look
like
and
then
something
looks
at
those
view
models
and
is
able
to
track
back
into
some
source
object.
A
So
that
was
really
how
it
started
was
you
know
we
were
starting
an
application
that
was
going
to
have
like
hundreds
of
screens,
and
we
saw
all
this
thousands
of
lines
of
code
of
custom
view
model
stuff.
We
said
we
don't
want
that.
We
want
something
that
just
enforces
a
convention
and
just
kind
of
lays
down
the
guidelines
for
the
developers
at
the
time.
You
know
for
us
all:
alzheimer's
and
nets.
It
wasn't
always
an
obvious
thing
that
if
you
have
a
set
of
code,
you
should
just
make
it
open
source.
A
So
we
had
this
conversation
internally
like
well.
What
do
we
do
with
this?
It's
not
specific
to
this
customer.
It
wasn't
even
developed
on
the
customer's
dime.
So
what
what
do
we
do
with
it?
Let's
just
make
it
an
open
source
project.
So,
at
the
very
least,
on
the
next
project,
we
can
use
this
library
again.
The
reason
why
I
made
it
open
source
is
to
be
able
to
have
other
people
use
this
when
I,
you
know
first
started
making
it.
A
I
recognize
like
this
could
really
help
a
lot
of
projects
and
the
way
that
we
were
building
asp.net
applications.
I
thought
was
a
great
way
of
doing
it,
so
I
wanted
to
share
not
not
just
the
library
that
we
were
using
to
help
with
that,
but
also
the
the
thought,
process
and
ideas
behind
that
as
well.
So
it's
kind
of
a
package
deal,
it's
like
here's,
how
we
build
them:
nvc
applications
and
here's
the
library
that
helped
enable
us
to
do
that
as
well.
A
You
know,
there's
there
are
folks
talking
about
it,
but
there
wasn't
a
ton
of
direction
from
microsoft,
and
so
we
were
all
kind
of
the
community
like
how
do
we
you
know?
How
do
we
do
this?
How
do
we
build
nbc
applications
in
a
in
a
sustainable
way?
You're
part
of
that
community,
as
well
and
steve
smith
and
javier
lozano
there's
just
a
lot
of
folks
out
there
that
really
kind
of
lay
in
the
groundwork
for
here's,
how
to
build
nvc
applications
over
the
lifetime
of
the
project.
A
I've
still
been
the
the
primary
maintainer
of
automapper,
my
very
first
commit
13
years
ago.
Until
today,
I'm
still
the
primary
you
know
the
primary
developer
these
days
there
are,
there
are
more
contributors,
even
ones
that
have
like
it's
like
ownership,
admin
access
and
even
now
it's
it's
part
of
the
net
foundation.
So
if
something
were
to
happen
to
me,
it
would
continue
to
live
on.
I
guess
getting
contributors
for
open
source
projects
is
always
a
big
challenge.
A
Early
on
in
the
project.
It
was
a
really
big
feather
in
my
cap
to
see
someone
want
to
contribute
back
to
it.
I
didn't
really
do
a
lot
of
promoting
I've.
Never
even
given
a
talk
on
my
on
auto
mapper
like
there's,
I've,
never
given
a
conference
talk
or
anything
like
that,
but
it's
always
been
about
the
projects
and
then
how
that
thing
leads
into
it.
So
I
was
super
happy
to
see
the
first
person
that
wanted
to
contribute
code
back
to
it
and,
of
course,
on
google
code.
A
That's
you
have
to
submit
a
patch
which
is
a
zip
file,
so
I
was
so
excited
that
someone
took
the
time
to
give
me
the
code
for
it
that
it
just
blindly
accepted
it.
So
I
did
have
to
learn
over
the
years
that
there
are
some
people
that
you
know
really
want
to
contribute
back,
but
because
I'm
the
primary
maintainer.
If
someone
gives
me
a
feature
seven
years
ago,
I'm
on
the
hook
for
if
anything
goes
on
wrong
with
it
today
that
original
person
is
long
gone.
A
Being
on
the
other
side
of
the
coin
of
submitting
pull
requests
to
open
source
projects,
it
could
be
quite
frustrating
to
open
a
pr
and
then
have
it
sit
for
weeks
months
even
years
sometimes,
and
so
I
I
try
to
empathize
with
people
that
submit
those
issues
and
pull
requests.
I
understand
that
they've
taken
time
out
of
their
day
to
try
to
get
back
to
to
this
project.
A
Yes,
this
seems
like
a
good
idea
and
if
you
open
a
pull
request,
we'll
be
happy
to
take
it,
which
may
not
be
the
answer
they
want,
because
they
probably
want
me
to
add
the
code,
but
since
this
is
a
volunteer
project,
I
realized
like.
If
someone
really
is
a
champion
for
the
feature
they
want.
They're
going
to
submit
that
code
back
and
hopefully
I
can
try
to
make
it
as
easy
as
possible
to
have
that.
A
I
think
the
reality
is
that
no
open
source
can
really
be
successful
once
you
get
to
a
certain
size
unless
it
has
some
kind
of
sponsorship.
I
don't
know
of
really
many
projects
out
there
that
don't
have
like
kind
of
full-time
folks
on
it.
So
I
spend
as
much
time
as
I
can.
The
reality
is
so
I
spend
about
an
equal
time
at
open
source,
but
it's
on
the
projects
that
my
clients
need.
Not
that's.
Just
like
in
my
war
chest
I
definitely
remember
bef
before
asp.net
nbc
came
out.
A
A
I'm
hoping
that
you
know
the
githubs
of
the
world
make
that
kind
of
thing.
A
lot
easier
that
you
know
you
have
everything
from
the
donate
button
on
your
project,
page
to
the
ability
to
have
some
way
to
have
enterprise
support
agreements.
They
can
do
it
through
pre-camera,
like
so,
you
know
help
for
those
folks
to
say
someone
wants
some
kind
of
support
deal,
that's
an
easy
thing
to
do
as
well
so
kind
of
the
entire
spectrum
so
they're.
The
folks
that
really
want
to
make
you
know,
opens
or
sustainable
and
need
to
they.