To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Talk:Ideas and Template:Providers/table: Difference between pages

From ZNC
(Difference between pages)
Jump to navigation Jump to search
>Jpnurmi
m fix typo
 
m updated connectivity, name, URL, and IRC support links for QZ -> TechnoFAQZNC
 
Line 1: Line 1:
== Uli's complaints (TODO: Better headline) ==
<noinclude>
 
<!--
* The big rename (ZFoo): I never saw a project were this was a good idea. Of course I won't stop anyone to do this, but I won't encourage anyone either.
======================================================================
** There's the initial hurdle, but in the end module developers will be happier with a beautiful and consistent API to develop with. [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
For location codes, please refer to https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
* Semantic versions: So the only difference to right now is that we get another .0 at the end of the version number? ZNC had a grand total of two bug fix releases in its history (I think) and those were for CVEs...
Use exceptions, most notably UK instead of GB, listed here https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Exceptional_reservations
** Release early, release often. I'm sure your customers would appreciate. ;) Branching and semantic versioning in a nutshell; master branch for new features, X.Y branch for bug fixes (periodically merged to master). Bugfix releases tagged from X.Y branch, master forms the next X.Y.0 release (and eventually the next X.0). [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
======================================================================
* Binary compatibility: Just not possible. Basically every release would be a major release. Feel free to convince me otherwise, but "binary compatible" and "C++" mostly means "don't change anything".
Providers are sorted by "Date Started", which is either the date in which the provider officially started delivering services, the date
** My suggestion is to keep it simple and provide binary compatibility only for bugfix releases. New feature development happens in master, not in the X.Y branch where bugfix releases come from. Even for master, my suggestion would be to keep old deprecated methods and types around instead of breaking source compatibility. [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
their domain was registered (if reliable information), or the date added to the ZNC table list.
* Message type: Since we don't promise API stability anyway, this can happen outside of ZNCv2 (aka "can be done right now, too")
-->
** I'd like to kindly ask you to reconsider. ZNC has such a nice bunch of official and unofficial modules, it would be a pity to break them like that. Any module written for the 1.x series would ideally work with later 1.x releases. Write such intrusive ideas down or as TODO comments in the code. Once you have a reasonable set of changes in mind, start preparing for the next major release. Module developers know that something needs to be updated in order to support the new major version. If the changes are beneficial, module developers will surely follow. [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
</noinclude>[<span class="plain links">[{{fullurl:Template:Providers/table|action=edit}} Edit data]</span>]
* Radically reduce the amount of module hooks: "Radically" means "4"? Also, what's the point? Most modules will check for the type of message as first thing anyway and e.g. immediately return for queries. So this just makes modules more complicated
{| class="wikitable sortable" border="1"
** Sorry, I'm not familiar enough with the CModule API to understand which hook does what, but my first impression was - please make it simpler. :) Perhaps it would be easier to understand if the module API was structured after the categories? Furthermore, ideally the interface for ZNC app wouldn't be exposed for module developers. [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
! rowspan="2" | Provider
* Project structure: Are you saying that modules must not link against symbols from the znc binary? We already have a libznc.dll for cygwin. It contains everything but main(). There just is no sane way to split things up currently, but feel free to proof me wrong.
! colspan="2" | Max Networks per User
** The library is the part that we would retain backwards compatibility for. On the app side you may do anything you want since that wouldn't break modules. Modules shouldn't have access to application specific code. [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
! rowspan="2" | ZNC Version
* Coding style: Hahaha. No.
! rowspan="2" | Language
** Are you laughing at all the points or some specific of them? Regarding passing certain types always by reference or as pointers... alongside good naming, consistency is one of the most important factors for easy to memorize APIs. [[User:Jpnurmi|J-P Nurmi]] ([[User talk:Jpnurmi|talk]]) 17:41, 6 March 2014 (CET)
! rowspan="2" | Connectivity<br><small style="font-weight:normal">(to destination networks)</small>
[[User:Psychon|Psychon]] ([[User talk:Psychon|talk]]) 16:37, 6 March 2014 (CET)
! rowspan="2" class="unsortable" | IRC Support
! rowspan="2" | Date Started
! rowspan="2" class="unsortable" | ZNC locations<br><small style="font-weight:normal">([[wikipedia:ISO 3166-1 alpha-2#Officially_assigned_code_elements|country codes]], using [[wikipedia:ISO 3166-1 alpha-2#Exceptional_reservations|exceptions]])</small>
! rowspan="2" class="unsortable" | Notes
|-
! Default
! Premium
|-
|-
|[https://bnc4free.com BNC4FREE]
| 3
|
| 1.8.1*
| English
| both
| {{irc|chat.freenode.net|bnc4free}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2009-01-05
| <abbr title="United Kingdom">UK</abbr>
|
|-
|[https://www.xshellz.com xShellz]
| 2
| data-sort-value="30" | 12, 20, or 30
| 1.6.1
| English
| both
| {{irc|chat.freenode.net|xShellz}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2009-03-01
| <abbr title="United States of America">US</abbr>, <abbr title="United Kingdom">UK</abbr>
|
|-
|[https://lunarbnc.net LunarBNC]
| unlimited
|
| 1.8.0*
| English
| IPv6 <small>(IPv4 requires Premium)</small>
| {{irc|irc.lunarirc.net|lunarbnc}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2014-09-03
| <abbr title="Germany">DE</abbr>
|
|-
|[https://znc.bg ZNC.BG]
| 1
|
| 1.6.3*
| English
| both
| {{irc|irc.v.bg|znc}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2016-01-25
| <abbr title="Bulgaria">BG</abbr>, <abbr title="Czech Republic">CZ</abbr>, <abbr title="Germany">DE</abbr>, <abbr title="Italy">IT</abbr>
|
|-
|[https://technofaq.org TechnoFAQZNC]
| 3 (more upon request)
| 10 (more upon request)
| 1.8.1
| English
| IPv6 <small>(IPv4 requires Premium)</small>
| {{irc|chat.freenode.net|TechnoFAQZNC}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2017-11-02
| <abbr title="France">FR</abbr>, <abbr title="Norway">NO</abbr>
|
|-
|[https://pastebin.com/raw/eDaeLZhn bnc4you]
| 4 (freenode + 3 choices)
|
| 1.8.1
| English
| IPv4-only
| {{irc|chat.freenode.net|#bnc4you}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2018-03-03
| <abbr title="Turkey">TR</abbr>
|
|-
|[https://ircnow.org IRCNow]
| 100 (more upon request)
|
| 1.7.4
| English / Chinese / Urdu / Tamil / Spanish
| both
| {{irc|irc.ircnow.org|ircnow}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2019-08-26
| <abbr title="Luxembourg">LU</abbr>, <abbr title="United States of America">US</abbr>
| <small>hostile to LGBT</small>
|-
|[https://pastebin.com/raw/tqTixMFS QualityZNC]
| 2 (freenode + 1 choice)
|
| 1.8.0
| English
| both
| {{irc|chat.freenode.net|#QualityZNC}}
| <span style="display:none">&{{#expr:3e11+{{#time:U|..}}}}</span>2020-02-09
| <abbr title="Germany">DE</abbr>
|
|}

Revision as of 20:27, 19 July 2020

[Edit data]

Provider Max Networks per User ZNC Version Language Connectivity
(to destination networks)
IRC Support Date Started ZNC locations
(country codes, using exceptions)
Notes
Default Premium
BNC4FREE 3 1.8.1* English both #bnc4free@chat.freenode.net &3017139634572009-01-05 UK
xShellz 2 12, 20, or 30 1.6.1 English both #xShellz@chat.freenode.net &3017139634572009-03-01 US, UK
LunarBNC unlimited 1.8.0* English IPv6 (IPv4 requires Premium) #lunarbnc@irc.lunarirc.net &3017139634572014-09-03 DE
ZNC.BG 1 1.6.3* English both #znc@irc.v.bg &3017139634572016-01-25 BG, CZ, DE, IT
TechnoFAQZNC 3 (more upon request) 10 (more upon request) 1.8.1 English IPv6 (IPv4 requires Premium) #TechnoFAQZNC@chat.freenode.net &3017139634572017-11-02 FR, NO
bnc4you 4 (freenode + 3 choices) 1.8.1 English IPv4-only ##bnc4you@chat.freenode.net &3017139634572018-03-03 TR
IRCNow 100 (more upon request) 1.7.4 English / Chinese / Urdu / Tamil / Spanish both #ircnow@irc.ircnow.org &3017139634572019-08-26 LU, US hostile to LGBT
QualityZNC 2 (freenode + 1 choice) 1.8.0 English both ##QualityZNC@chat.freenode.net &3017139634572020-02-09 DE