After a first interview with NetBSD-5.0 release engineer Soren Jacobsen, it is now Adam Hamsik turn to be interviewed by NetBSDfr.
Adam is known for his work on porting LVM tools to NetBSD last year, as well as porting ZFS as part of this year’s Google Summer of Code.
NetBSDfr: First of all, thanks for taking the time to answer.
haad: No problem! I think that your effort is great.
NetBSDfr: For the readers who don’t know you, can you shortly introduce yourself ?
haad: My name is Adam Hamsik, I’m 24 years old. I have finished
Computer science in Slovak Technical University last month.
I’m NetBSD developer since around 2 years. My first bigger project was
NetBSD LVM implementation on which I have worked during previous
Google Summer of Code.
NetBSDfr: Why did you choose to run NetBSD ? How long have you been using it ?
haad: I’ve been using NetBSD for around 4 years. I started with NetBSD
2.0. I tried several linuxes and FreeBSD but any of them truly fit my
needs. During one dinner with my old friend he suggested to me that I
should try to use NetBSD, because it is pretty good operating system. I
tried to use it and found that it is best os for what I need. It is cleanly
designed and it is almost Unix.
NetBSDfr: Do you have an idea of the time you spend working on the NetBSD project
daily, weekly, monthly ?
haad: These days during GSOC 2009, I’m working on ZFS port project
for 4-8 hours per day, sometimes even more. As any other volunteer
developer I’m often interrupted with real world thinks, but I’m trying to
do as much as I can during this Summer.
NetBSDfr: Your work for the project is mainly in
maintaining your former GSoC work, or are you involved on other parts
of the code ?
haad: I did several smaller patches to base system, proplib, but main
part of my work is my former and current GSOC work.
Last year I did LVM port for NetBSD and get linux LVM tools working with
our device-mapper driver. For those readers who do not know what is
LVM, LVM is Logical Volume Manager which allows to manage disk
space in a pretty simple way.
This year Summer of Code I’m working on NetBSD ZFS port and I have
to say that with great help of Andrew Doran we already did pretty good
job. Yesterday – Note: the 20th of June, 2009 – I was able to mount (only
mount call is supported;) ZFS dataset, create/manage zpools and zvols.
NetBSDfr: How did you become a NetBSD developer ? following GSoC I assume ?
haad: I became a developer after some time where I tried to find some
project for me. I was asked by Bill Stouder-Studenmund if I want to
become a developer. Later I started my work on LVM port which later
became my GSOC project for 2008.
You started LVM port before GSoC 2008 ?
haad: I had some big part of device-mapper driver written before GSOC
NetBSDfr: How long did it take to port LVM to NetBSD, overall ?
haad: It is still not finished but around 1.5 year.
NetBSDfr: I’m wondering how you learn about NetBSD
internals ? On your own ? At school ?
haad: I have to say that I’m still NetBSD internals newbie I know parts
of kernel on which I was working e.g. device-drivers, device-mapper.
During my work I met several great developers with enough patience
to guide me through kernel internals and help me with my problems. I
learnt the rest on my own . I have to say that there are still places in
kernel about which I do not know anything e.g. low level stuff, real
device-drivers, acpi, uvm etc.. but I already learnt pretty much about
locking, vfs and filesystems.
NetBSDfr: Can you give more details about the Google
Summer of Code ? How are students nominated ? What are the success
criteria, if any ? Do all students get committer access ?
haad: GSOC is program managed by Google where Google pays
students to work on Open Source projects like NetBSD. Anyone who is a
student can write application and submit it during application submit
timeline. Applications are later reviewed by NetBSD mentors (people
who guide students through whole GSoC on project side) and defined
number of project applications are chosen by some criteria.
Not every student get commit access but many of our successful
students over past few year got them. GSoC is better described at
NetBSDfr: What are the evaluation criterion ? Usability?
Portability of the code ?
haad: Every student should define their GSoC application must have,
nice to have things. Students are evaluated by their mentors.
You need to show your mentor that you are working on your project
and get at least something done. If you find during Summer that your
deliverables are to huge, you can scale them down, but you must work
on it There are no exact criteria for project evaluation.
NetBSDfr: How are you working with ad@, your mentor
on the ZFS port project? Is he reviewing your code regurlarly ? Are you
requesting the reviews ?
haad: We have meetings once a week on Skype/VOIP where we discuss
any big issues. During the week I can regularly talk with him on irc.
When I do some bigger change, I ask Andrew for a review.
NetBSDfr: I was about to ask for a status on ZFS. You
gave part of the answer earlier in this interview. Do you think you’ll
reach the goals you’ve set for ZFS in NetBSD by the end of this year’s
haad: I have to say that I’m not sure still. ZFS is huge it will take
much more than GSoC to get it working but I think that we can get basic
part of ZFS working at the end of GSoC. I will do my best to reach our
NetBSDfr: As a conclusion, can you tell us how you
imagine the future of NetBSD?
haad: I think that we did huge step with NetBSD 5.0. Andrew Doran did
awesome job on 5.0. Many parts of NetBSD kernel are multi-thread safe
these days. On multicore/SMP machines we have very good
performance in many types of system workload.
There is also another part of NetBSD and it it is portabiliy to embedded
devices, there are so many small devices which are running NetBSD
and nobody knows it. We need to work hard to get Flash filesystem and
many other embedded device stuff done to attract new developers to
work and port NetBSD to new machines.
NetBSDfr: Well, I think I’ve run out of questions. Thanks
a million for your time Adam
Rendez-vous in a few weeks for the next interview. In the meantime, any idea of developer to interview, or questions you’d like to ask, are more than welcome.
Edit: Is it a coincidence ? The day this interview is published, Adam posted a status of ZFS port on the NetBSD blog.
Edit 2: Mark Weinem has asked Adam 4 more questions in the comments of the blog.