grondilu
Legendary
Offline
Activity: 1288
Merit: 1080
|
|
December 22, 2011, 07:59:02 AM |
|
Ahh I had the http and git address mixed up. Silly of me. Works fine now. Thanks.
|
|
|
|
fellowtraveler
|
|
December 22, 2011, 12:37:46 PM Last edit: December 22, 2011, 12:52:07 PM by fellowtraveler |
|
Congratulations on the excellent library work. I also notice you have chosen the GNU Affero GPL for your license. (The 'AGPL'.) I still use AGPL, but only for my server software. My OT library now uses the L-AGPL, which preserves the Affero SaaS protections, while allowing LGPL-like permissions in places where OT is used as a library. It's the best of both worlds! You can read more about the LAGPL here: http://mo.morsi.org/blog/node/270I think this is the best argument in favor of using the GPL for (certain) open-source projects: http://www.dwheeler.com/blog/2006/09/01/#gpl-bsdAlso, FYI I actually wrote to the FSF about this, and they directed me to the same LAGPL article. The critical point, legally, is that the LAGPL is created by layering additional permissions on top of the AGPL. (Versus adding restrictions to the LGPL, which would be removable downstream.) In the case of the LAGPL, the additional permissions are also removable, but who is ever going to do THAT? Therefore, that is the proper structure for it.
|
|
|
|
genjix (OP)
Legendary
Offline
Activity: 1232
Merit: 1076
|
|
December 23, 2011, 08:30:24 AM |
|
Thanks fellowtraveller Actually there are a bunch of licensing issues that have to be resolved. Me and the SFLC/FSF are trying to fix up the AGPL since there is a bug in it where bitcoin is concerned. Also OpenSSL conflicts with the GPL and LAGPL was discussed since they get a lot of requests for it. But still got a lot of time since the project is far from maturity.
|
|
|
|
netrin
Sr. Member
Offline
Activity: 322
Merit: 251
FirstBits: 168Bc
|
|
December 23, 2011, 09:32:38 AM |
|
[Re: Lesser/Library GNU Affero Public License]
Thanks for the links, particularly Charles M. Hannum's comments on NetBSD licensing. It contrasts the opinions of O'Reily which have been quite influential over the decade. I had suggested a playful BSD-like license ( Poetic License), but perhaps the Affero extensions and strong copyleft are necessary with respect to bitcoin, and the Lesser extension for libraries such as libbitcoin. Though isn't LGPL (in contrast to GPL) essentially BSD?
|
|
|
|
fellowtraveler
|
|
December 23, 2011, 12:13:18 PM Last edit: December 23, 2011, 12:30:50 PM by fellowtraveler |
|
Thanks fellowtraveller Actually there are a bunch of licensing issues that have to be resolved. Me and the SFLC/FSF are trying to fix up the AGPL since there is a bug in it where bitcoin is concerned. Also OpenSSL conflicts with the GPL and LAGPL was discussed since they get a lot of requests for it. But still got a lot of time since the project is far from maturity. OpenSSL doesn't necessarily conflict with the GPL! All you have to do is, provide a waiver with your license, allowing your users to link OpenSSL while using your library.See the OT headers for examples of this, regarding OpenSSL as well as the Lucre library: https://github.com/FellowTraveler/Open-Transactions/blob/master/LICENSE-AND-CREDITS.txtWget, for example, uses this "waiver" trick, and other software. Google for more info. YOU can provide additional permissions on top of the AGPL (which is exactly how the LAGPL itself works.) Since you can add permissions (NEVER restrictions) to any GPL license, then you may also be able to fix your AGPL "bug" using that technique. Thanks for the links, particularly Charles M. Hannum's comments on NetBSD licensing. It contrasts the opinions of O'Reily which have been quite influential over the decade. I had suggested a playful BSD-like license (Poetic License), but perhaps the Affero extensions and strong copyleft are necessary with respect to bitcoin, and the Lesser extension for libraries such as libbitcoin. Though isn't LGPL (in contrast to GPL) essentially BSD?
GPL licenses make exemptions for other GPL licenses, for interoperability reasons. So LGPL is different than BSD in terms of this interoperability. (For example, the above-described waiver is not necessary with LGPL...) FYI, here is my own "easy english" description of the L-AGPL's operation: Whether you are distributing binaries that link to the OT-API, or whether you are using the OT-API in your website — so-called “software as a service” — either way, your own code may remain private, but any improvements to the OT library or API code itself must be made available open-source.My understanding is that the BSD license does not do this -- IBM could take all the libbitcoin code tomorrow if it were under BSD license, and use it internally, without having to open any source code, and without having to deal with the developers of libbitcoin. They could then sell it as closed-source, at a profit, and cut out the original developers, and cut out the open source community. They would not have to make available any of their improvements to libbitcoin, but could keep these proprietary. IMO that is a big distinction between BSD and LGPL. I'm not opposed to the BSD license, but the link I provided in the previous post demonstrates why the GPL license can be important when it comes to maintaining a thriving open-source community around a given piece of software. Especially convincing is the amount of money spent by (normally competing) corporations such as Microsoft, et al towards improving linux, where such entities would normally never invest funds to benefit their competitors, but instead would tend to choose a proprietary solution (or co-opt a piece of BSD-licensed code in order to create a proprietary solution, as described in that article.)
|
|
|
|
genjix (OP)
Legendary
Offline
Activity: 1232
Merit: 1076
|
|
December 23, 2011, 12:39:40 PM |
|
Thanks for the info. Yes, they provided me with the exemption. The bug I'm referring to isn't to do with OpenSSL though. It's that the AGPL requires not only that you give the sourcecode on demand, but that you're proactive in providing the sourcecode visibly. This is problematic because if you make a small modification while developing or building on a compilation based system (like gentoo) then the act of connecting to the p2p network means you have to provide source. There is no means to do this in the bitcoin sourcecode and the idea itself is problematic; every build must store the sourcecode in a bundle which is served using custom bitcoin protocol extensions. From my understanding, modifying the AGPL for them is complicated and so far the last proposal was: > If the covered work has no means of communicating an offer to > provide Corresponding Source to the users interacting with it > remotely over a computer network, then you may comply with this > requirement by making the Corresponding Source for your version > available for anyone to copy, free of charge and under the terms of > this License, through a publicly available network server or other > readily accessible means. This means that you are able to provide the source code through some other means (such as sending it via email if requested) and it solves the issue. ------ In an ideal world, copyrights, patents, trademarks and censorship wouldn't exist. Proprietary software would not be able to support itself against rampant piracy. And I would put my sourcecode out in the open for anyone to use as they like. However, we don't live in that ideal world. And I will use what little power I have in the form of the GPL to fight this asymmetric warfare. The balance is totally tilted away from our favour, so why wouldn't you use the only protection afforded to you as a developer. Licenses like the GPL hack the law, twisting it to our will. It is the best example of subversion.
|
|
|
|
netrin
Sr. Member
Offline
Activity: 322
Merit: 251
FirstBits: 168Bc
|
|
December 23, 2011, 12:45:25 PM |
|
... and the Lesser extension for libraries such as libbitcoin. Though isn't LGPL (in contrast to GPL) essentially BSD?
... your own code may remain private, but any improvements to the OT library or API code itself must be made available open-source. My understanding is that the BSD license does not do this -- IBM could take all the libbitcoin code tomorrow if it were under BSD license, and use it internally, without having to open any source code... Ah, right. Thank you. Genjix, are you not considering the Lesser/Library extension?
|
|
|
|
genjix (OP)
Legendary
Offline
Activity: 1232
Merit: 1076
|
|
December 31, 2011, 06:17:17 PM |
|
I'll look into it
|
|
|
|
|
fellowtraveler
|
|
January 01, 2012, 04:08:12 AM |
|
I'll look into it
I recommend L-AGPL over LGPL. It's basically the same as LGPL, except it applies even in cases where the software is used "as a service" (instead of as an installable program.) See above for more info.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
January 01, 2012, 10:03:26 AM |
|
Very interesting tools and something I am very interested to use with my own future open source project.
Just a couple of questions:
1) Any possibility of optionally using MySQL?
2) Will these tools work in Windows also?
Cheers,
Ian.
|
|
|
|
genjix (OP)
Legendary
Offline
Activity: 1232
Merit: 1076
|
|
January 01, 2012, 10:15:52 AM |
|
Very interesting tools and something I am very interested to use with my own future open source project.
Just a couple of questions:
1) Any possibility of optionally using MySQL?
2) Will these tools work in Windows also?
Cheers,
Ian.
1) The postgresql_blockchain in libbitcoin (which subvertx uses) plugin's underlying library cppdb can use MySQL/postgres/sqlite/... MySQL doesn't exist simply because I wasn't using it. So it might be possible to remove the postgres only stuff to make it work with mysql but I haven't looked into it. 2) Nobody has compiled for windows yet, but there is no linux specific stuff (and there shouldn't be). The code is even made to work on big endian systems too. Getting a windows port would be good Feel free to hit me up on IRC.
|
|
|
|
bitfair
|
|
September 08, 2012, 10:28:19 PM |
|
Gentlemen,
I think I've run into a serious bug in mktx (and let me apologize in advance if this is the wrong place to post - newbie warning!):
Simply put: Sometimes the coins are sent to the address 1111111111111111111114oLvT2 rather than to the specified receiving address. It happens only with certain addresses, my theory is that it happens when the second character in the address is greater than C - when the second character in the address is C or lower, it appears to work fine.
The example in the first post of this thread works fine. However, to recreate the problem try the same command, only change the second receving address, for example:
mktx create -p priv@c524c555aad1932c24c26ec20439a9caefc49f7c0df6d6bccced890ef980b45c:0 -k priv@keys/privkey -r 12oabCifvHuxzXtYVGhkxVfWZDvKcU743s:2000000 -r 1Def9ia5QENGf8CYVVnhRTNvpop67gs6Jp:58000000
Deserializing the output from that command you can see it has set the second output script to OP_DUP OP_HASH160 0000000000000000000000000000000000000000 OP_EQUALVERIFY OP_CHECKSIG.
BTW, I am using the subvertx ubuntu package on 12.04. I haven't set up my environment to be able to recompile the utilities and such, but I guess I'll have to dive into the source myself unless I hear back...
In either case, thanks for a great bunch of tools!
|
|
|
|
kruzer
Newbie
Offline
Activity: 7
Merit: 0
|
|
September 11, 2012, 09:04:21 PM |
|
... Same for the subvertx suite
$ git clone git://gitorious.org/libbitcoin/subvertx.git $ cd subvertx $ autoreconf -i $ ./configure $ make # make install
I followed all the hints, and finally built libbitcoin library and installed it in ubuntu 12.04 But the last clone from subvertx git doesn't want to compile correctly. Is the latest version of subvertx compatible with latest version of libbitcoin? The errors during compilation: g++ -DPACKAGE_NAME=\"subvertx\" -DPACKAGE_TARNAME=\"subvertx\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"subvertx\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix@riseup.net\" -DPACKAGE_URL=\"\" -DPACKAGE=\"subvertx\" -DVERSION=\"0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -I. -std=gnu++0x -I/usr/local/include -ggdb -MT poller.o -MD -MP -MF .deps/poller.Tpo -c -o poller.o poller.cpp poller.cpp: In function ‘int main()’: poller.cpp:31:28: error: ‘bdb_blockchain’ has not been declared poller.cpp:36:9: error: ‘class libbitcoin::handshake’ has no member named ‘connect’ In file included from /usr/include/c++/4.6/bits/shared_ptr.h:52:0, from /usr/include/c++/4.6/memory:86, from /usr/include/boost/asio/detail/shared_ptr.hpp:21, from /usr/include/boost/asio/detail/socket_ops.hpp:21, from /usr/include/boost/asio/detail/socket_holder.hpp:20, from /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:24, from /usr/include/boost/asio/detail/reactive_socket_service.hpp:30, from /usr/include/boost/asio/datagram_socket_service.hpp:26, from /usr/include/boost/asio/basic_datagram_socket.hpp:21, from /usr/include/boost/asio.hpp:20, from /usr/local/include/bitcoin/types.hpp:4, from /usr/local/include/bitcoin/address.hpp:4, from /usr/local/include/bitcoin/bitcoin.hpp:140, from poller.cpp:1:
|
|
|
|
isis
|
|
October 03, 2012, 03:27:21 PM |
|
... Same for the subvertx suite
$ git clone git://gitorious.org/libbitcoin/subvertx.git $ cd subvertx $ autoreconf -i $ ./configure $ make # make install
I followed all the hints, and finally built libbitcoin library and installed it in ubuntu 12.04 But the last clone from subvertx git doesn't want to compile correctly. Is the latest version of subvertx compatible with latest version of libbitcoin? The errors during compilation: g++ -DPACKAGE_NAME=\"subvertx\" -DPACKAGE_TARNAME=\"subvertx\" -DPACKAGE_VERSION=\"0.1\" -DPACKAGE_STRING=\"subvertx\ 0.1\" -DPACKAGE_BUGREPORT=\"genjix@riseup.net\" -DPACKAGE_URL=\"\" -DPACKAGE=\"subvertx\" -DVERSION=\"0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -I. -std=gnu++0x -I/usr/local/include -ggdb -MT poller.o -MD -MP -MF .deps/poller.Tpo -c -o poller.o poller.cpp poller.cpp: In function ‘int main()’: poller.cpp:31:28: error: ‘bdb_blockchain’ has not been declared poller.cpp:36:9: error: ‘class libbitcoin::handshake’ has no member named ‘connect’ In file included from /usr/include/c++/4.6/bits/shared_ptr.h:52:0, from /usr/include/c++/4.6/memory:86, from /usr/include/boost/asio/detail/shared_ptr.hpp:21, from /usr/include/boost/asio/detail/socket_ops.hpp:21, from /usr/include/boost/asio/detail/socket_holder.hpp:20, from /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:24, from /usr/include/boost/asio/detail/reactive_socket_service.hpp:30, from /usr/include/boost/asio/datagram_socket_service.hpp:26, from /usr/include/boost/asio/basic_datagram_socket.hpp:21, from /usr/include/boost/asio.hpp:20, from /usr/local/include/bitcoin/types.hpp:4, from /usr/local/include/bitcoin/address.hpp:4, from /usr/local/include/bitcoin/bitcoin.hpp:140, from poller.cpp:1:
bump!
|
|
|
|
ThomasV
Legendary
Offline
Activity: 1896
Merit: 1353
|
|
March 25, 2013, 09:46:16 AM |
|
Electrum now accepts plugins. It would be awesome to write a txradar plugin, that connect to a server running txrad. It would display the propagation rate in the client, in real time
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
mila
|
|
June 10, 2014, 10:47:50 PM |
|
sorry for the necro but are there any news about this tool?
|
your ad here:
|
|
|
|