This doesn't seem like a great idea to me. I felt a great sense of 
accomplishment when I had my first package listed on METADATA, as I felt 
like I made a tangible contribution to the community (in the same way I'm 
proud of having a CRAN package). So for me, I'd question the value of 
having a package that's "sort of ok, but I'm not confident in it, and maybe 
I'll update it if someone compliments me or submits a pull request to 
extend the package..." It just seems so passive, when the barrier is 
actually pretty low to getting a package on METADATA (compared to the 
beatings that CRAN hands out).

There's going to be good code and bad code, and having the hook into GitHub 
provides a great mechanism for continuous improvement. The Julia community 
is the friendliest that I'm a part of, but maybe we just need to do more to 
have people believe in themselves.

What I do think we need is a better way to discover packages. For example, 
I had no idea what Nettle was until Viral (?) clued me into it having 
crypto functions.


On Tuesday, July 1, 2014 9:07:47 PM UTC-4, Iain Dunning wrote:
>
> Hi all,
>
> Something that came up in some discussions I had at *JuliaCon* is that 
> people perceive packages in METADATA as being for more "serious" packages, 
> i.e. by being there there is an implication of a certain minimum quality. A 
> lot of my efforts in the package ecosystem have been try to help package 
> developers to live up to that expectation. A consequence of this perception 
> is that some people might be averse to list their work on METADATA, for 
> fear its not good enough/not ready.
>
> You can currently list a package on METADATA with:
> - a version 0.0.0, which was the preferred way originally but is now 
> discouraged. This tagged version's hash would be updated as needed (i.e. it 
> doesn't follow master)
> - a listing with no tagged version, which allows someone to do 
> Pkg.add("YourPkg") and automatically get the most up-to-date version of 
> your package.
>
> Of course, you pretty much need to announce your package somewhere other 
> than METADATA to let users know it exists, and users can you 
> Pkg.clone("..") almost as easily as Pkg.add("..") with a no-version 
> listing. Currently pkg.julialang.org doesn't show packages without a 
> version, so the no-version listing is of limited utility for 
> discoverability.
>
> A proposal that came up a few times at the conference was for some sort of 
> METADATA-EXTRA, which only has versions of packages without version numbers 
> and is open to everyone and anyone. It'd be super easy to add packages - 
> simply add a name and URL to a list. Perhaps it could be accessed through a 
> package not in Base, e.g. PkgExtra.
> It would have 
> PkgExtra.update_listing() - refresh local list of package names and URLs
> PkgExtra.add(pkgname..) - git clone a package to ~/.juila/v0.x/
> PkgExtra.update(pkgname...) - git pull the packages
> PkgExtra.rm(pkgname...) - nuke the packages
> So basically, super simple. User could even be responsible for satisfying 
> any dependencies of the packages installed this way. At the most, the 
> REQUIRE in the package should be used, to keep this system as light-weight 
> as possible.
>
> So this wouldn't be much work to get going, but I was more curious to see 
> if there is actually demand for this. I'm worried its one of those things 
> people say they want, but I'm not sure if the demand is real. This might be 
> bad just in that it "forks" METADATA sort of, which is possibly not a great 
> idea for a new package. On the plus side, it could encourage even more 
> development and sharing.
>
> Thoughts?
>

Reply via email to