unix was a commercial operating system written by bell labs.
bsd was written by bill joy (and others?) at berkeley in the late 70's-early 80's to be a free operating system that works like unix. net- open- and free- bsd have modified the original BSD source to create their kernels/tools/programs/etc (i think most of that was correct 😉)
linux was written by linus torvalds in the early 90's so that he could have unix on his 386, which minix (another free (i think) unix like os) would not run on. linux is just the kernel, and the GNU project (which was around before linux) started to use the linux kernel to create the typical GNU/linux distrobutions you see today. GNU actually has their own kernel (HURD), but i guess it has just progressed too slowly.