Eitan Adler wrote:
As an aside can anyone point me to a relatively easy bug/feature that I
can work on as a beginner C coder?

There are thousands of such; could you narrow it down
a little bit?  Are you interested in kernel hacking?
Device support?  Core libraries?  Networking?  Utilities?
Porting?

There are a couple of idea pages floating around and
many discussions in public mailing lists, blogs, and other
places:

* Search the source code for "TODO" or "XXX" to find
  comments about things that could use cleaning or
  improvement.  As a bonus, these usually comment things
  that someone thinks should be done, so you might have
  a little easier job selling your solution.

* Search the web for "FreeBSD GSoC" or "FreeBSD Summer of Code"
  to find ideas that are intended to be 3-month projects
  targeted at student-level developers.  You'll find links
  both to past projects (a fair number of which are still
  not yet entirely completed; maybe you could help?) and
  web pages and mailing list discussions about possible
  future projects.

* Search the web for "Junior Kernel Hacker" for other
  ideas that people have come up with over the years.

* Go to FreeBSD.org and skim the mailing list archives
  to find ideas and see what problems people are having.
  hackers@ and current@ are good starting points, some
  of the more specialized lists can also be interesting
  reading.  You might find problems that you can solve
  yourself or you might find an ongoing project that
  could use a little help.  Projects like FreeBSD work best
  when there are several people working on any given area.

Of course, how a lot of people get involved is simply
to install and use FreeBSD for a little while, and find
something that doesn't seem quite right:
* a hardware device on your system that's not fully supported?
* a utility that doesn't work the way you think it should?
* an application that doesn't run on FreeBSD as well as it
   does on some other platform?

In my case, I'd used FreeBSD for many years, decided I didn't
like the installer (still don't, by the way) but found that
writing a new installer was too big a project for the limited
time I had available.  So I cast around and found my niche
working on archiving tools.  (Maybe Ivan Voras is interested
in having help with his finstall project?)

As you figure it out, it's usually a good idea to ask
on mailing lists (hackers@ is good) or IRC to see if
other people are encountering the same problem or if
someone is already working on something.  That kind of
discussion can help you get more complete background
on a particular problem, including approaches that other
people have tried or even partial code for fixes that
were never completed.  (There's a lot of interesting
bits sitting around people's hard drives that are
worth the effort to study, test, and fix.)

Perhaps most importantly, by talking about your
work-in-progress, you have a better chance of connecting
with a committer who will help get your work into the
tree.  A lot of excellent ideas never make it into
FreeBSD because the author never talked to anyone
until they were "done" and the result couldn't really fit
into FreeBSD correctly without a lot more work.

On this latter point, it can help to read carefully
through old commit logs, study past work in that area,
and ask questions specifically of developers who have
done work in that area.  (Though it's usually better to
ask first in a public forum like hackers@ or current@;
individual developers are sometimes very busy or on
vacation or just slow to respond for various reasons.)

Most importantly, have fun and remember that most of us are
volunteers who enjoy using and working on FreeBSD in our (often
quite limited) spare time.  On the one hand, that sometimes
makes us slow to answer:  If I only have a couple of hours
a week, I'd usually rather spend it coding than typing
long answers to questions that people could answer themselves.
On the other hand, it also means I enjoy talking about FreeBSD
and sometimes get carried away writing overly-long email
epics with lots of detail about stuff that noone really
cares about.  <grin>

Welcome to the zoo!

Tim

P.S.  libarchive has a number of mid-sized projects that
I'd like to see done, including improvements to the ISO
reader (tar's ability to read ISOs is a popular feature
that merits some additional work), RMT support for tar and
cpio, a pax front-end, an ISO writer, and a bunch of work
to identify common functions in tar and cpio and find clean
ways to move them into libarchive so they can be effectively
shared.  This last in particular doesn't require complex
coding since the core functionality is already written,
but does require a lot of care with library API design
(a subject about which I have strong opinions) and
refactoring existing code.
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to