There are a good number of sysctl wrapper libraries and api's for FreeBSD and other BSD distro's. Darwin has libproc.h and proc_info.h. FreeBSD libutil, libprocstat, and several others. What I don't get is, if you are going to make several libraries wrapping a single complicated api function, to try to make it simpler to work with, shouldn't there be less overlap in what each individual library does? libutil and libprocstat for example have all the same exact features, except libprocstat can do a few extra things like get the cmdline, cwd, and environ of a given process. Why do we need both of these libraries built in to the operating system? Wouldn't it be better to combine them in a new library and deprecate the current ones? Or would that break too many projects too quickly for developers to want to keep up with?
Also, my process information library I am writing has a FreeBSD and Darwin/MacOS port, I think it would be relatively easy to port the base Darwin libraries my library uses to FreeBSD or vise versa, simply by recompiling them from existing source code with very little modification where needed. All of that is great if there are no licensing issues. But it would be cool to have a single sysctl wrapper that came shipped with most BSD distro's out of the box? OpenBSD for example doesn't have FreeBSD's libutil header and library. I get the different projects have different developers who make different decisions on project direction. But I feel if there was a single library for simplifying sysctl that was good enough and covered enough relevent functionality there everyone would resort to that one library on every BSD system while writing software for the BSD's instead of referencing different ones for each distro.
I can understand there being variations in api's like this for completely different operating systems but not different distro's of the same operating system at its core. Do you guys find this completely necessary?
My library's goal is to help fix this problem to some extent, but there will be a lot of maintenance needed higher level because of the api changes at the lower level. The less differences at the lower level the better, that's my personal thought on if you are going to have separate distro's. Different operating systems is a bit different because they come from different codebases completely.
I dont really mind the maintenance. I just don't see why so many people need to make compatibility breaking decisions.
I wanted to at some point to do a lower level version of my library for BSD that is based on sysctl directly as that will make it easier. Another thing I was interested in knowing, who would i contact if i wanted to develop this library as an official FreeBSD library? I wanted to contact the main FreeBSD developers and other major distro's like OpenBSD to get a more universal library going that will be included with most of the major BSD's to sort of replace all the duplicated functionality done differently. I don't mean the third party ports. If I could work with the official devs and get their insight, I would like to make this library as efficient and good as it can get for process related functionality.
Edit:
Sorry for editing my post so much. I feel kinda nervous about posting due to my last thread's reaction.
Also, my process information library I am writing has a FreeBSD and Darwin/MacOS port, I think it would be relatively easy to port the base Darwin libraries my library uses to FreeBSD or vise versa, simply by recompiling them from existing source code with very little modification where needed. All of that is great if there are no licensing issues. But it would be cool to have a single sysctl wrapper that came shipped with most BSD distro's out of the box? OpenBSD for example doesn't have FreeBSD's libutil header and library. I get the different projects have different developers who make different decisions on project direction. But I feel if there was a single library for simplifying sysctl that was good enough and covered enough relevent functionality there everyone would resort to that one library on every BSD system while writing software for the BSD's instead of referencing different ones for each distro.
I can understand there being variations in api's like this for completely different operating systems but not different distro's of the same operating system at its core. Do you guys find this completely necessary?
My library's goal is to help fix this problem to some extent, but there will be a lot of maintenance needed higher level because of the api changes at the lower level. The less differences at the lower level the better, that's my personal thought on if you are going to have separate distro's. Different operating systems is a bit different because they come from different codebases completely.
I dont really mind the maintenance. I just don't see why so many people need to make compatibility breaking decisions.
I wanted to at some point to do a lower level version of my library for BSD that is based on sysctl directly as that will make it easier. Another thing I was interested in knowing, who would i contact if i wanted to develop this library as an official FreeBSD library? I wanted to contact the main FreeBSD developers and other major distro's like OpenBSD to get a more universal library going that will be included with most of the major BSD's to sort of replace all the duplicated functionality done differently. I don't mean the third party ports. If I could work with the official devs and get their insight, I would like to make this library as efficient and good as it can get for process related functionality.
Edit:
Sorry for editing my post so much. I feel kinda nervous about posting due to my last thread's reaction.