New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename project to avoid confusion with Nix. #76

Closed
eddyb opened this Issue Feb 20, 2015 · 31 comments

Comments

Projects
None yet
@eddyb

eddyb commented Feb 20, 2015

While I don't mind "*nix" to denote Unix (and Unix-like) systems, "Nix" specifically is taken by the "purely functional package manager".
This could get worse in the future, because of how cargo fits almost perfectly with the Nix model, and I have seen integration prototypes already.
You might have to deal with crates.io packages that interact with Nix, or even fully reimplement it in Rust.

I know it doesn't sound as cool, but what about "posix.rs" or some variation thereof?

@rrichardson

This comment has been minimized.

Show comment
Hide comment
@rrichardson

rrichardson Feb 20, 2015

Contributor

How about we move its contents to the libc crate?

Contributor

rrichardson commented Feb 20, 2015

How about we move its contents to the libc crate?

@carllerche

This comment has been minimized.

Show comment
Hide comment
@carllerche

carllerche Feb 20, 2015

Contributor

libc is mostly just FFI bindings and const declarations. nix is trying to provide somewhat of a rusty api.

posix.rs isn't ideal because the library provides far more than than just posix APIs. It tries to cover all of the *nix OSes (hence the name). I would be open to switching the name if somebody proposes a good one, but while I am sympathetic w/ library name clashes, "nix" is a very very generic name w/ plenty of history prior to the package manager.

Anyway, like I said, i am open to name proposals.

Contributor

carllerche commented Feb 20, 2015

libc is mostly just FFI bindings and const declarations. nix is trying to provide somewhat of a rusty api.

posix.rs isn't ideal because the library provides far more than than just posix APIs. It tries to cover all of the *nix OSes (hence the name). I would be open to switching the name if somebody proposes a good one, but while I am sympathetic w/ library name clashes, "nix" is a very very generic name w/ plenty of history prior to the package manager.

Anyway, like I said, i am open to name proposals.

@utkarshkukreti

This comment has been minimized.

Show comment
Hide comment
@utkarshkukreti

utkarshkukreti Feb 22, 2015

Contributor

Also, a project named posix.rs already exists.

Contributor

utkarshkukreti commented Feb 22, 2015

Also, a project named posix.rs already exists.

@little-arhat

This comment has been minimized.

Show comment
Hide comment
@little-arhat

little-arhat Mar 1, 2015

Contributor

OCaml has Unix module, that provides interface to common unix facilities. http://caml.inria.fr/pub/docs/manual-ocaml/libref/Unix.html . unix.rs may be good choice: it retains nix part and avoids confusion with Nix.

Contributor

little-arhat commented Mar 1, 2015

OCaml has Unix module, that provides interface to common unix facilities. http://caml.inria.fr/pub/docs/manual-ocaml/libref/Unix.html . unix.rs may be good choice: it retains nix part and avoids confusion with Nix.

@tbu-

This comment has been minimized.

Show comment
Hide comment
@tbu-

tbu- Apr 17, 2015

Contributor

This probably needs a decision before 1.0. My suggestion: Either close this issue and leave the name, or rename the project. Just ignoring the issue doesn't make it go away. :/

Contributor

tbu- commented Apr 17, 2015

This probably needs a decision before 1.0. My suggestion: Either close this issue and leave the name, or rename the project. Just ignoring the issue doesn't make it go away. :/

@carllerche

This comment has been minimized.

Show comment
Hide comment
@carllerche

carllerche Apr 17, 2015

Contributor

I agree this needs to be decided before 1.0

As I see it, there are two main arguments for keeping the name nix:

  1. Historically, "*nix" has been "a shorthand form referring to Unix-like computer operating systems". This predates the nix package manager. If there was a collision on a unique word / name given the space, I would think the argument to rename this library would be stronger.

  2. nix is a core part of the API. It is useful to have a short, meaningful, 3 letter prefix to these apis as they come up a lot when using the library: nix::Error, nix::Result, nix::fcntl(...), etc... Yes it would be possible for people to do: extern crate the_crate_formerly_known_as_nix as nix; but using `nix seems like a good default.

Additionally, to clarify, the goal of the library is to bind more than just the APIs defined by the posix standard. The goal is to cover as much as possible in all unix like OSes that Rust supports. As such, I don't a "posix" inspired name is a good fit.

I will try to get a wider set of opinions before making a final decision.

Contributor

carllerche commented Apr 17, 2015

I agree this needs to be decided before 1.0

As I see it, there are two main arguments for keeping the name nix:

  1. Historically, "*nix" has been "a shorthand form referring to Unix-like computer operating systems". This predates the nix package manager. If there was a collision on a unique word / name given the space, I would think the argument to rename this library would be stronger.

  2. nix is a core part of the API. It is useful to have a short, meaningful, 3 letter prefix to these apis as they come up a lot when using the library: nix::Error, nix::Result, nix::fcntl(...), etc... Yes it would be possible for people to do: extern crate the_crate_formerly_known_as_nix as nix; but using `nix seems like a good default.

Additionally, to clarify, the goal of the library is to bind more than just the APIs defined by the posix standard. The goal is to cover as much as possible in all unix like OSes that Rust supports. As such, I don't a "posix" inspired name is a good fit.

I will try to get a wider set of opinions before making a final decision.

@cmr

This comment has been minimized.

Show comment
Hide comment
@cmr

cmr Apr 17, 2015

Contributor

This is an unfortunate collision. nix is such a nice name. At the same time, unix isn't a bad name.

Contributor

cmr commented Apr 17, 2015

This is an unfortunate collision. nix is such a nice name. At the same time, unix isn't a bad name.

@brson

This comment has been minimized.

Show comment
Hide comment
@brson

brson Apr 17, 2015

That's a tough call. I'm inclined to keep the name 'nix'. It's potentially confusing, but it's cute and historical precedent is on unix's side. More people know unix than 'nix the package manager'.

brson commented Apr 17, 2015

That's a tough call. I'm inclined to keep the name 'nix'. It's potentially confusing, but it's cute and historical precedent is on unix's side. More people know unix than 'nix the package manager'.

@lambda

This comment has been minimized.

Show comment
Hide comment
@lambda

lambda Apr 17, 2015

I don't think that nix is too confusing, and I don't know if it's likely that there would ever need to be a crate for the package manager (and if so, it could be called nix-pkg or something like that). However, I'm not a user or developer of nix/NixOS, I don't know if they would feel differently.

If it is changed, I agree that posix isn't a great name, as there are many APIs that apply to Unix like systems that aren't standardized (xattrs, epoll/kqueue, etc), and would be good to have Rusty wrappers around.

I don't think that unix would be very good either, as it might be confused with std::os::unix.

I might suggest nixie as an alternative name, if you do decide to change the name. Still has the reference to *nix, reasonably short, not limited to standardized APIs nor confusable with any part of the standard library.

lambda commented Apr 17, 2015

I don't think that nix is too confusing, and I don't know if it's likely that there would ever need to be a crate for the package manager (and if so, it could be called nix-pkg or something like that). However, I'm not a user or developer of nix/NixOS, I don't know if they would feel differently.

If it is changed, I agree that posix isn't a great name, as there are many APIs that apply to Unix like systems that aren't standardized (xattrs, epoll/kqueue, etc), and would be good to have Rusty wrappers around.

I don't think that unix would be very good either, as it might be confused with std::os::unix.

I might suggest nixie as an alternative name, if you do decide to change the name. Still has the reference to *nix, reasonably short, not limited to standardized APIs nor confusable with any part of the standard library.

@tbu-

This comment has been minimized.

Show comment
Hide comment
@tbu-

tbu- Apr 17, 2015

Contributor

I like nixie, it's one of the "creative package names" crates.io strives for with its flat namespace.

Contributor

tbu- commented Apr 17, 2015

I like nixie, it's one of the "creative package names" crates.io strives for with its flat namespace.

@wycats

This comment has been minimized.

Show comment
Hide comment
@wycats

wycats Apr 17, 2015

Contributor

@tbu- the problem doesn't seem to be a namespacing issue -- carllerche/nix would have the same problem.

Contributor

wycats commented Apr 17, 2015

@tbu- the problem doesn't seem to be a namespacing issue -- carllerche/nix would have the same problem.

@rrichardson

This comment has been minimized.

Show comment
Hide comment
@rrichardson

rrichardson Apr 17, 2015

Contributor

I think before we have this discussion we should ask the Nix Linux people
if they'll kindly change their name to something less ambiguous.

I am partial to Hipster Linux.

On Fri, Apr 17, 2015 at 2:23 PM Yehuda Katz notifications@github.com
wrote:

@tbu- https://github.com/tbu- the problem doesn't seem to be a
namespacing issue -- carllerche/nix would have the same problem.


Reply to this email directly or view it on GitHub
#76 (comment).

Contributor

rrichardson commented Apr 17, 2015

I think before we have this discussion we should ask the Nix Linux people
if they'll kindly change their name to something less ambiguous.

I am partial to Hipster Linux.

On Fri, Apr 17, 2015 at 2:23 PM Yehuda Katz notifications@github.com
wrote:

@tbu- https://github.com/tbu- the problem doesn't seem to be a
namespacing issue -- carllerche/nix would have the same problem.


Reply to this email directly or view it on GitHub
#76 (comment).

@wycats

This comment has been minimized.

Show comment
Hide comment
@wycats

wycats Apr 17, 2015

Contributor

The thing that's surprising to me about this discussion is that it seems like the nix package manager is the one that stomped on the namespace... and then somehow succeeded in owning it!

The name "*nix" to refer to the family of Unix operating system is very, very old. I'm honestly kind of at a loss for how the package manager managed to not only use this already-precedented name, but now make it seem like using it in the traditional way is conflicting with it!

Contributor

wycats commented Apr 17, 2015

The thing that's surprising to me about this discussion is that it seems like the nix package manager is the one that stomped on the namespace... and then somehow succeeded in owning it!

The name "*nix" to refer to the family of Unix operating system is very, very old. I'm honestly kind of at a loss for how the package manager managed to not only use this already-precedented name, but now make it seem like using it in the traditional way is conflicting with it!

@tbu-

This comment has been minimized.

Show comment
Hide comment
@tbu-

tbu- Apr 17, 2015

Contributor

@wycats Sorry for my snarky remark.

To me it's kind of irrelevant who was there first, but rather that there might be confusion about the name. Carrying out a discussion about "who was there first" doesn't mitigate the problems though.

Contributor

tbu- commented Apr 17, 2015

@wycats Sorry for my snarky remark.

To me it's kind of irrelevant who was there first, but rather that there might be confusion about the name. Carrying out a discussion about "who was there first" doesn't mitigate the problems though.

@dwrensha

This comment has been minimized.

Show comment
Hide comment
@dwrensha

dwrensha Apr 18, 2015

I like the name "unix" for this crate. To me, "*nix" means "unix-like" but "nix" unambiguously refers to the package manager.

dwrensha commented Apr 18, 2015

I like the name "unix" for this crate. To me, "*nix" means "unix-like" but "nix" unambiguously refers to the package manager.

@redrampage

This comment has been minimized.

Show comment
Hide comment
@redrampage

redrampage Apr 19, 2015

Hello, sorry for barging in, but IMHO "unix" would be a better name for this lib, it's short and self-explanatory.
"nix" without an asterisk doesn't resemble "*nix" very well.
"nixie" is too long for such a "core" library and pretty much refers to "nixie tubes".

redrampage commented Apr 19, 2015

Hello, sorry for barging in, but IMHO "unix" would be a better name for this lib, it's short and self-explanatory.
"nix" without an asterisk doesn't resemble "*nix" very well.
"nixie" is too long for such a "core" library and pretty much refers to "nixie tubes".

@carllerche

This comment has been minimized.

Show comment
Hide comment
@carllerche

carllerche Aug 17, 2015

Contributor

I attempted to contact the nix package manager author, but did not hear back. I have not been convinced that a rename is worth it given the history of "nix" meaning *nix / unix flavored.

I am going to keep the nix name.

Contributor

carllerche commented Aug 17, 2015

I attempted to contact the nix package manager author, but did not hear back. I have not been convinced that a rename is worth it given the history of "nix" meaning *nix / unix flavored.

I am going to keep the nix name.

@carllerche carllerche closed this Aug 17, 2015

@domenkozar

This comment has been minimized.

Show comment
Hide comment
@domenkozar

domenkozar Apr 14, 2016

We also have rust integration for Nix(OS), so this will yield some really bad UX in the future :)

https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/rust-packages.nix

domenkozar commented Apr 14, 2016

We also have rust integration for Nix(OS), so this will yield some really bad UX in the future :)

https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/rust-packages.nix

@shadowcat-mst

This comment has been minimized.

Show comment
Hide comment
@shadowcat-mst

shadowcat-mst Apr 14, 2016

@carllerche the nix package manager has been going a long time - quite possibly longer than rust has existed - so expecting them to rename at this point seems a little silly.

How about renaming this package to 'starnix' ?

shadowcat-mst commented Apr 14, 2016

@carllerche the nix package manager has been going a long time - quite possibly longer than rust has existed - so expecting them to rename at this point seems a little silly.

How about renaming this package to 'starnix' ?

@nox

This comment has been minimized.

Show comment
Hide comment
@nox

nox Apr 14, 2016

@carllerche I'm not sure what your intent was by trying to contact the Nix package manager author… Did you want to ask them to rename their project? This crate being called Nix is highly confusing.

nox commented Apr 14, 2016

@carllerche I'm not sure what your intent was by trying to contact the Nix package manager author… Did you want to ask them to rename their project? This crate being called Nix is highly confusing.

@nox

This comment has been minimized.

Show comment
Hide comment
@nox

nox Apr 14, 2016

What about kleenix, playing both on the Kleene star and the fact that such abstractions make us cry less? (Kleenex as in tissue)

nox commented Apr 14, 2016

What about kleenix, playing both on the Kleene star and the fact that such abstractions make us cry less? (Kleenex as in tissue)

@edef1c

This comment has been minimized.

Show comment
Hide comment
@edef1c

edef1c Apr 14, 2016

If anyone is in the possession of a time travel device to take us back to the year 2003, we might be able to get Nix, nixpkgs, and NixOS renamed. But I'm afraid I don't have one of those laying around.

edef1c commented Apr 14, 2016

If anyone is in the possession of a time travel device to take us back to the year 2003, we might be able to get Nix, nixpkgs, and NixOS renamed. But I'm afraid I don't have one of those laying around.

@shadowcat-mst

This comment has been minimized.

Show comment
Hide comment
@shadowcat-mst

shadowcat-mst Apr 14, 2016

@wycats basically from my point of view it's "don't confuse the sysadmin", and nix is a well established name at this point among people who've been paying attention to 'doing systems level stuff better'. I'm not claiming their choice of name is perfect, but that ship sailed ten years ago whereas we can avoid causing problems here, now.

shadowcat-mst commented Apr 14, 2016

@wycats basically from my point of view it's "don't confuse the sysadmin", and nix is a well established name at this point among people who've been paying attention to 'doing systems level stuff better'. I'm not claiming their choice of name is perfect, but that ship sailed ten years ago whereas we can avoid causing problems here, now.

@nbp

This comment has been minimized.

Show comment
Hide comment
@nbp

nbp Apr 14, 2016

@carllerche

I attempted to contact the nix package manager author

What was your goal there?

@domenkozar

We also have rust integration for Nix(OS), so this will yield some really bad UX in the future [in the package manager] :)

I agree with @domenkozar , not renaming will cause a name clash in various package managers, not only Nixpkgs.

By sticking with the current name, you explicitly give the right to all package managers to rename this package on your behalf.

nbp commented Apr 14, 2016

@carllerche

I attempted to contact the nix package manager author

What was your goal there?

@domenkozar

We also have rust integration for Nix(OS), so this will yield some really bad UX in the future [in the package manager] :)

I agree with @domenkozar , not renaming will cause a name clash in various package managers, not only Nixpkgs.

By sticking with the current name, you explicitly give the right to all package managers to rename this package on your behalf.

@crertel

This comment has been minimized.

Show comment
Hide comment
@crertel

crertel Apr 16, 2016

I'd like to humbly second the vote for "starnix".

crertel commented Apr 16, 2016

I'd like to humbly second the vote for "starnix".

@posborne

This comment has been minimized.

Show comment
Hide comment
@posborne

posborne Apr 17, 2016

Member

@nbp

I agree with @domenkozar , not renaming will cause a name clash in various package managers, not only Nixpkgs.

I fail to see how the name will cause conflicts in package management systems but am willing to listen if there is an angle I am missing. To my knowledge, distros are very good at prefixing library code with the name of the language (e.g. python-* in debian). Is this not the case for nixos?

The existing release for "nix" on crates.io will never be removed (that could and would break existing code). I suggest that rust packages related to nixos adopt the "nixos" name. As is, I do not see packages written for dealing with nixos that share this prefix: https://crates.io/search?q=nix

Member

posborne commented Apr 17, 2016

@nbp

I agree with @domenkozar , not renaming will cause a name clash in various package managers, not only Nixpkgs.

I fail to see how the name will cause conflicts in package management systems but am willing to listen if there is an angle I am missing. To my knowledge, distros are very good at prefixing library code with the name of the language (e.g. python-* in debian). Is this not the case for nixos?

The existing release for "nix" on crates.io will never be removed (that could and would break existing code). I suggest that rust packages related to nixos adopt the "nixos" name. As is, I do not see packages written for dealing with nixos that share this prefix: https://crates.io/search?q=nix

@shadowcat-mst

This comment has been minimized.

Show comment
Hide comment
@shadowcat-mst

shadowcat-mst Apr 17, 2016

On Sat, Apr 16, 2016 at 05:40:30PM -0700, Paul Osborne wrote:

The existing release for "nix" on crates.io will never be removed (that could and would break existing code). I suggest that rust packages related to nixos adopt the "nixos" name. As is, I do not see packages written for dealing with nixos that share this prefix: https://crates.io/search?q=nix

I suggest that the answer is both. Or, more precisely -

  1. nix-the-rust-package renames itself to something less confusing (I still really like 'starnix', but it's my idea so of course I do :)

  2. do a final release of nix on crates.io explaining the fuckup and the new name

  3. NixOS related packages use nixos, nix-the-package-manager packages use
    nixpkg or similar for their name (because I concur that them calling themselves nix would at this point be just as stupid and confusing as the current nix package calling itself nix is).

(the 'nix' package manager is absolutely usable outside of, and predates,
nixos by some time, trying to file all related things under 'nixos' is an
error, albeit an easy one to make given not already understanding the topic)

Matt S Trout - Shadowcat Systems - Perl consulting with a commit bit and a clue

http://shadowcat.co.uk/blog/matt-s-trout/ http://twitter.com/shadowcat_mst/

Email me now on mst (at) shadowcat.co.uk and let's chat about how our CPAN
commercial support, training and consultancy packages could help your team.

shadowcat-mst commented Apr 17, 2016

On Sat, Apr 16, 2016 at 05:40:30PM -0700, Paul Osborne wrote:

The existing release for "nix" on crates.io will never be removed (that could and would break existing code). I suggest that rust packages related to nixos adopt the "nixos" name. As is, I do not see packages written for dealing with nixos that share this prefix: https://crates.io/search?q=nix

I suggest that the answer is both. Or, more precisely -

  1. nix-the-rust-package renames itself to something less confusing (I still really like 'starnix', but it's my idea so of course I do :)

  2. do a final release of nix on crates.io explaining the fuckup and the new name

  3. NixOS related packages use nixos, nix-the-package-manager packages use
    nixpkg or similar for their name (because I concur that them calling themselves nix would at this point be just as stupid and confusing as the current nix package calling itself nix is).

(the 'nix' package manager is absolutely usable outside of, and predates,
nixos by some time, trying to file all related things under 'nixos' is an
error, albeit an easy one to make given not already understanding the topic)

Matt S Trout - Shadowcat Systems - Perl consulting with a commit bit and a clue

http://shadowcat.co.uk/blog/matt-s-trout/ http://twitter.com/shadowcat_mst/

Email me now on mst (at) shadowcat.co.uk and let's chat about how our CPAN
commercial support, training and consultancy packages could help your team.

@rrichardson

This comment has been minimized.

Show comment
Hide comment
@rrichardson

rrichardson Apr 17, 2016

Contributor

How about posix-rs? Or rust-posix? Soon Windows will have POSIX support,
so it's not just *nixes :). Yes the support of the current nix is broader
than POSIX, but it gets the point across that it is a wrapper around UNIX
system functions.

On Sun, Apr 17, 2016, 10:34 AM Anthony Ramine notifications@github.com
wrote:

Packages have already been renamed in the past, it's nothing new.
diwic/dbus-rs#9


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#76 (comment)

Contributor

rrichardson commented Apr 17, 2016

How about posix-rs? Or rust-posix? Soon Windows will have POSIX support,
so it's not just *nixes :). Yes the support of the current nix is broader
than POSIX, but it gets the point across that it is a wrapper around UNIX
system functions.

On Sun, Apr 17, 2016, 10:34 AM Anthony Ramine notifications@github.com
wrote:

Packages have already been renamed in the past, it's nothing new.
diwic/dbus-rs#9


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#76 (comment)

@tbu-

This comment has been minimized.

Show comment
Hide comment
@tbu-

tbu- Apr 17, 2016

Contributor

https://crates.io/crates/posix is already taken.

Contributor

tbu- commented Apr 17, 2016

https://crates.io/crates/posix is already taken.

@rrichardson

This comment has been minimized.

Show comment
Hide comment
@rrichardson

rrichardson Apr 17, 2016

Contributor

It hasn't been updated in a year. It looks like its author has moved on to
other things. We could probably acquire rights to the crate name :)

On Sun, Apr 17, 2016 at 6:11 PM tbu- notifications@github.com wrote:

https://crates.io/crates/posix is already taken.


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#76 (comment)

Contributor

rrichardson commented Apr 17, 2016

It hasn't been updated in a year. It looks like its author has moved on to
other things. We could probably acquire rights to the crate name :)

On Sun, Apr 17, 2016 at 6:11 PM tbu- notifications@github.com wrote:

https://crates.io/crates/posix is already taken.


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#76 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment