Learning principles for FreeBSD OS to develop cloud computing software with Golang

Hello ,

I want to port our software and write backend parts for FreeBSD in golang.

Do you please suggest some article or source to read or any codebase to us ?

Thanks !
 
If you haven't marked this one already: FreeBSD Porter's Handbook is the main documentation for making ports of software to FreeBSD.
In addition, look at the ports tree, se what already ported programs have done (look at the ones relevant to you, for example programs written in golang).
 
Pure Go code shouldn't need any porting, including the standard library.

If you come across code that doesn't run on FreeBSD post the messages you get.
 
I see , so our services should be monolithic or any other ... how to decide it ? How FreeBSD developers like to contribute and use it ?
 
Hello ,

I want to port our software and write backend parts for FreeBSD in golang.

Do you please suggest some article or source to read or any codebase to us ?

Thanks !
If you are not very familiar with Go, make sure you read Effective Go and other Go related blogs or youtube videos; & subscribe to the golang-nuts googlegroup/mailing list. Most things should be cross-platform, including many unix specific things. Understand their module system and versioning. For your own stuff try to abstract things out when possible (you can add platform specific code fairly easily - minimize such code as much as possible). Often you can copy a "foo_linux.go" file to "foo_freebsd.go" (or "foo_bsd.go") file and modify it to replace linuxisms with (Free)BSDisms.

You don't need to create microservices until scaling becomes an issue (at which point you will have many more issues!). Typically one binary per user-facing service should suffice. If you want you can use sysutils/podman-suite as generally a good idea to put each service in a separate jail. You might want to look at podman suite's programs for Go code examples.
 
I understood thanks. In this context we choosed BSD-new or BSD-3-Clause license to release with or without source. This will make our job easier ... ( I talked that in this forum before )
 
How FreeBSD developers like to contribute and use it ?

However you go about this path, in the context of a third party port - should you decide to proprietarize any part of it; you lose the benefit of garnering contributions from the community. No one is going to work on third party proprietary software for free. So if that is your objective; forget about it. Otherwise, we appreciate your support.

Also, IMO a cool exercise I suggest is wrapping your backend in Capsicum for improved security (for "the cloud"). Your marketing department (or whoever) would love to promote that benefit potential customers. :)
 
Thank you for your understanding. My goal is not to make the contributors' efforts my private property. If you agree, I can also use the copyleft license AGPLv3-or-later. However, to the best of my knowledge, the BSD community recommends the BSD license. Furthermore, the freedom to make the source code proprietary isn't limited to me; anyone can make the source code proprietary and commercialize it.

What license should we choose? Thank you...
 
We have a BSD style organization which includes a project leader me, core team members/leaders, committers, and contributors... that way. But this project is for all open source community all around world. Not limitied with https://github.com/BSDTurkiyeToplulugu or my own.

We started this BSD Turkey Community but maintainer has been died. So my own project take the maintaining of BSD Turkey Community and now my own project/community leads our local BSD Turkey community.

In any case whether our own BSD Turkey Community or my own started project/community is all BSD style organization. BSD Turkey Community accepts BSD style licenses but my own project is mixed both copyleft licenses and permissive licenses are accepted for my own.

We discussed Copyleft licenses in BSD Turkey Community and choosed BSD style licenses. I don't see any issues am I wrong ?
 
Back
Top