I want to publish my package to opam , then i got blocked my github account?

You keep claiming you’ve been block by the ocaml organisation. I’ve never heard of that being a policy, neither I’ve seen example of other users being blocked.
User of this forum and opam maintainers on github have given you constructive feedback on your library submission.
It’s unclear where your issue is coming from but instead of trying to work with the community to understand the problem, you come off as confrontational. I’m not sure that will help you to get your issue resolved.

1 Like

thanks for every one help. i am not complain,wait and see the truth,i am continue working on improve skills.

@kit-ty-kate I was unable to comment , nor resubmit my package.
So i comment here.

Yes, you guys tell me more suggestion, I would like to continue improve it.

But now , i can not take any action to resubmit my package.

@kit-ty-kate for the name , i often think about with package name.

But i am not only contribute Ocaml package, so i have other language package.

bsmi_base [ for Dart lang]
so i gave bsmi_ocaml for OCaml, i would like change the name to. bsmi_ocaml_common, if it too long . I am ok for any changes.

I will be slightly harsh here so please bear with me.

What does ‘bsmi’ mean? Ideally, when I am looking at package names, it should be obvious what the package is about. Unfortunately from glancing at the package name ‘bsmi’ I cannot get any idea of what it does.

The synopsis says it’s a ‘common OCaml library’ but unfortunately that is not much more descriptive. It just tells me this is an OCaml library.

Think about this from the perspective of opam and OCaml users in the future. Do you want opam to have packages named like ‘abcd’, ‘awsi’, ‘psml’, and so on?* The poor future users of opam would be perplexed to see names like that. Help them out a bit and take some time to think of a good descriptive name for your package.

*Yes, unfortunately there are already some packages with two- or three-letter names in opam. I’d like to avoid this becoming a common practice though.


surely not inside the opam repo. That’s what @kit-ty-kate meant – do not put self-evident facts in the globally visible (opam) package name, but leave ocaml in the name of your git repo if you like. Do you understand the difference?

Why do you have to add the package to the global repo in the first place? What benefit has it for the world over being a public git repo that can be used by everybody the way @dbuenzli mentioned above?

Please do not clutter the public opam package repo with personal experiments. Imagine what happened if everybody did. And adding a package is a decade-long commitment for maintenance in case. And are you serious about removing it, once you change your mind?

@All: What is the EOL process of opam packages btw. or does the repo grow forever?


I guess we better start renaming vg, mu, hc, brr, gg, four in such case :face_with_monocle: I feel like some of the comments here are just piling on. Everybody is entitled to name their library whatever. The main question is whether it is worthy of inclusion into OPAM and that’s - at the end of the day - for OPAM maintainers to decide.


I am not agree with the long term contribute.
Did you know npm? the largest packages hosting in the world. i guess.
Every one can publish package on it.
That’s the best part i like with OSS.

Freedom , easy, friendly.

I guess OCaml community less popular ,due to the old rules, you guys won’t let young blood in .
To take care of the oh my better feeling on check, verify, blocked. or what ever.

Less player join, The game end.

Did you afraid more package add in opam, i have different thought.
The package will hot , if they really high quality, and high usage.

So why not afraid user join to contribute the community.


OCaml就我目前感知到的,其语言非常复杂,较于普通语言Javascript, java,python这些,本来就难太多了。


你们提的意见,或者观点,我都能接受和理解。 我就是这样一步步坎坎坷坷走过来的。



所以问题来了。 我还能继续玩下去吗?



见过很多成熟,开放的社区,但是像OCaml 社区这样行事,我第一次感到的不是友好,而是来自各位的重重压力。




包括我提问题,都是很有礼貌,遵循着社区 的规则。


  1. github账户不明所以的被封禁
  2. 各种反对,指责挑三拣四的意见一大堆
  3. 面对困难,好像提意见的,比帮助的人要多了多。
  4. 你们还能挑1000挑毛病,我深信不疑。





  1. 更低的门槛,能让新人有学习成长的机会
  2. 更少的要求,会让丰富的生态更快拓展,比如有人可能会用OCaml追踪彗星轨迹,并写了一个类库,想跟世界分享。
  3. 更友善的氛围,与其挑三拣四,不如相互鼓励,相互学习,而不是把自己尖锐的一面,指向所有人;
  4. 更多挑战和尝试新技术的机会。如果你们把门关上了,朋友们可是进不来。
  5. Opam生态现在可以说是很荒漠化。很多需要的类库,其实是很缺的。最丰富的,应该是Java,npm, Python 这些语言的类库,他们丰富的资源,让很多东西,都能随便获得,随便取用。
  6. 你们完全不用担心类库太多了,只要制定严格的退役规则。比如如果一个软件包,1年都没有任何维护,我们就打上一个标记:无维护。 提醒人们这是一个没有维护的包
  7. 统计和展示使用次数,下载次数,让人们能分辨出更流行的包,更多人使用的包。这样那些更少人用,或者没人用的包,就不会有任何存在的必要。他们自己就玩不下去。
  8. 鼓励新开发者加入到社区中来,只有更多的熟悉,更多的写代码,在实战中成长,才能成长收获的更快。
  9. 让开发者在社区相互接触,介绍更多的新人进来,打造一个更活跃的社区。如果规则太苛刻,玩家就少。中国有古话说:水至清则无鱼。 严格的律法,必定会让所有人都不敢行动。

I understand English is not your first language, and it’s easier for you to write in Chinese But can we please make the effort of sticking to English on this forum? It’s not my first language either, as it’s probably the case for many on this forum.

For the rest, I think you are assuming the community, and the opam maintainers are hostile when I’ve seen no such thing.
We’ve explain that being part of the community doesn’t necessarily require publishing a package to opam. Plenty of interesting libraries started outside of the opam echo system for the first few iterations before being added to opam.
Unlike other package system, opam facilitate the integration of not-release-on-opam-yet package. You were even given the command to make that happen:

opam pin add bsmi_ocaml https://github.com/infobsmi/bsmi_ocaml.git

Which mean you expiriment with you library, talk about here, receive feedback, have other people use it, without waiting for the package to be integrated in opam. This is something that as a community we do frequently, but you didn’t even given any consideration for that option.
About your opam PR itself, as you can see, the PR wasn’t rejected. The opam maintainers gave you some feedback about what they thing a good opam package should be. Unlike other package managers, opam has some curation. This is to improve the quality of the ecosystem and not to prevent people to submit potentially useful library. Please take a moment to consider these remarks as helpful guidelines to improve your library.


Different ecosystems have different customs and rules, npm made the choice of allowing anyone to publish packages and opam made the choice of having humans in the loop.

You’re always free to use another package manager if you disagree with the choice opam made. For instance, Esy allows you to publish OCaml package on npm. And of course, you’re free to build your own package manager, as you’ve pointed out, in the spirit of open source.

But as you’re new to the OCaml community, and a “菜鸟程序员” as you said, I would strongly encourage you to try to understand the ecosystems you’re trying to join first before criticizing them. Maybe ask why things are the way they are? Maybe you’re onto something and we can improve things, but chances are, there are good reasons for the rules and processes in place. In particular, for opam, there’s a really good reason opam maintainers don’t accept any contribution as they come: to ensure the quality and stability of the OCaml ecosystem.

It’s not uncommon in the npm world to build a project and have tons of failures because of dependency conflicts. That’s something that won’t happen often with OCaml projects, as the opam-repository CI will ensure your package builds and doesn’t break other packages. That’s one of the many benefits of the opam publication process.

Most people in the OCaml community will tell you that the opam publication process is a strength of the ecosystem, not a weakness. And I’m confident you’ll come to the same conclusion if you stick with OCaml long enough.

That’s not to say we don’t care about newcomers and we’re not aware that publishing a package in opam is a friction point for new contributors. The opam repository maintainers are actually doing a fantastic job at helping contributors when they have a problem and you’ll find that people on this forum are really welcoming if you ask questions.

Lastly, as @beajeanm said, for inclusivity, English is the language used to communicate on this forum.
For what it’s worth I think your English is perfectly understandable, but you can also use a translation app like https://fanyi.baidu.com/ if you prefer to write in Chinese and publish in English.


My problem simple, stop block my github account, i will continue learn and improve skills.

The problem blocked me .

How can you say : " oh , boy , cool down, be pation. try hard, don’t rude"

I gave up publish package to opam repository.

I just want to put me out of the blocked list.

That is the last question about me.

I am not talking push or publish anymore.

I am still blocked.

again, thanks for your all advice and suggest, i am learning and try my best to everything.

I don’t think anyone blocked you. This would be extremely unusual and I assume the opam repository maintainers would have sent you a message to explain to you why they blocked you if they did. You also did nothing wrong, I can’t see any reason why anyone would want to block you.

I would look into other reasons that could explain why you can’t comment on the PR:

So a few things you could try:

  • Check if you have a pending comment in another tab
  • Try with a different browser
  • Reach out to GitHub’s user support

@cnmade After some investigations, you were effectively blocked on the ocaml organization level, for a good part by accident.
This block has been lifted right now.
However, please refrain from asking beginner questions by opening issues on the compiler bug tracker while you are still learning OCaml.
I am really sorry for my lack of reactivity during the last two days.

1 Like

Thanks for you kind help. I will continue learn and improve my skills.
And again, thanks for every one help me , your value advice and suggestions.

Ah! Thanks @octachron and sorry for the wrong pointers in my last message :slight_smile:

I am always telling truth, i am not like to tell wrong things.

As an alternative to opening issues on the compiler to ask for help, feel free to ask any questions on this forum. You can also join the OCaml Discord, where there is a beginner channel for this exact purpose.

1 Like

As I mentioned in the part you left out:

1 Like

This is probably off-topic but the insistence on English is really really surprising to me.

We’re okay with fragmentation in every part of the ecosystem (build, packaging, even syntax) but the choice of spoken language - a real-world fragmentation - no no no, we can’t have that!

And pointing at “historical reasons” for entire books, meetups, job postings written only French reeks of a colonial hangover that I find pretty disgusting to put it mildly.

Anyway, just putting out my opinion even though as a community member with very few contributions it probably doesn’t matter much.

@cnmade 请用你选择的任何语言写

1 Like