{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/corefx/issues/2042","labels_url":"https://api.github.com/repos/dotnet/corefx/issues/2042/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/corefx/issues/2042/comments","events_url":"https://api.github.com/repos/dotnet/corefx/issues/2042/events","html_url":"https://github.com/dotnet/corefx/issues/2042","id":88166123,"number":2042,"title":"Code duplication between different Unixes","user":{"login":"janhenke","id":592974,"avatar_url":"https://avatars.githubusercontent.com/u/592974?v=3","gravatar_id":"","url":"https://api.github.com/users/janhenke","html_url":"https://github.com/janhenke","followers_url":"https://api.github.com/users/janhenke/followers","following_url":"https://api.github.com/users/janhenke/following{/other_user}","gists_url":"https://api.github.com/users/janhenke/gists{/gist_id}","starred_url":"https://api.github.com/users/janhenke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janhenke/subscriptions","organizations_url":"https://api.github.com/users/janhenke/orgs","repos_url":"https://api.github.com/users/janhenke/repos","events_url":"https://api.github.com/users/janhenke/events{/privacy}","received_events_url":"https://api.github.com/users/janhenke/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-06-14T10:54:59Z","updated_at":"2015-07-15T16:54:42Z","closed_at":"2015-07-15T16:54:41Z","body":"While working on FreeBSD support in CoreFX, we came across an issue that needs wider discussion, as the scope is not specific to FreeBSD.\r\n\r\nWe are facing a situation, where FreeBSD often behaves identical to Linux. E.g. they share the same crypto library (OpenSSL), they have the same file path restrictions (case sensitive, all Unicode characters allowed except NULL). At the same time they are not *fully* identical. E.g. FreeBSD's libc is derived from the \"BSD libc\", while Linux mostly uses the glibc. So we cannot alias one for the other, but still have a lot of duplicated code.\r\n\r\nRight now the common Unix folder implements only code that is really identical across all 3 currently unix-like oses (FreeBSD, Linux and OS X).\r\nOne way for the future would maybe to move more code to the common UNIX part, if it is the same across more than one platform and then overwrite that behaviour on those platforms which differ.\r\n\r\nI would like to use this issue to discuss this topic with all people involved, since any change would have a significant impact on the library structure and the way possible future platforms would be implemented (there is some interest in getting OpenBSD and NetBSD at some point in the future).\r\n\r\n/cc @josteink @stephentoub @akoeplinger "},"comment":{"url":"https://api.github.com/repos/dotnet/corefx/issues/comments/121678015","html_url":"https://github.com/dotnet/corefx/issues/2042#issuecomment-121678015","issue_url":"https://api.github.com/repos/dotnet/corefx/issues/2042","id":121678015,"user":{"login":"janhenke","id":592974,"avatar_url":"https://avatars.githubusercontent.com/u/592974?v=3","gravatar_id":"","url":"https://api.github.com/users/janhenke","html_url":"https://github.com/janhenke","followers_url":"https://api.github.com/users/janhenke/followers","following_url":"https://api.github.com/users/janhenke/following{/other_user}","gists_url":"https://api.github.com/users/janhenke/gists{/gist_id}","starred_url":"https://api.github.com/users/janhenke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janhenke/subscriptions","organizations_url":"https://api.github.com/users/janhenke/orgs","repos_url":"https://api.github.com/users/janhenke/repos","events_url":"https://api.github.com/users/janhenke/events{/privacy}","received_events_url":"https://api.github.com/users/janhenke/received_events","type":"User","site_admin":false},"created_at":"2015-07-15T16:54:41Z","updated_at":"2015-07-15T16:54:41Z","body":"Well I think this is a long term problem with not single fix. #2137 looks like a good step into the right direction. I am sure though that the issue will continue to pop up.\r\n\r\nWe can close this one for now as I see no immediate action required. I think it served it's purpose in raising awareness about this topic and starting a long term transition to a more future-proof architecture. "}}