I have used OpenBSD for more than one year, and it is time to give a summary of the experience:

(1) What do I get from OpenBSD ?

a) A good UNIX tutorial. When I am curious about some UNIX commands’ implementation, I will refer to OpenBSD source code, and I actually gain something every time. E.g., refresh socket programming skills from nc ; know how to process file efficiently from cat .

b) A better test bed. Although my work focus on developing programs on Linux , I will try to compile and run applications on OpenBSD if it is possible. One reason is OpenBSD usually gives more helpful warnings. E.g., hint like this:

...... warning: sprintf() is often misused, please use snprintf() ......

Or you can refer this post which I wrote before. The other is sometimes program run well on Linux may crash on OpenBSD , and OpenBSD can help you find hidden bugs.

c) Some handy tools. E.g. I find tcpbench is useful, so I ported it into Linux for my own usage (project is here).

(2) What I give back to OpenBSD ?

a) Patches. Although most of them are trivial modifications, they are still my contributions.

b) Write blog posts to share experience about using OpenBSD .

c) Develop programs for OpenBSD/*BSD : lscpu and free.

d) Porting programs into OpenBSD : E.g., I find google/benchmark is a nifty tool, but lacks OpenBSD support, I submitted PR and it is accepted. So you can use google/benchmark on OpenBSD now.