open-source-ideas / ideas

💡 Looking for inspiration for your next open source project? Or perhaps you've got a brilliant idea you can't wait to share with others? Open Source Ideas is a community built specifically for this! 👋
6.56k stars 221 forks source link

Nile: decentralized, commission-free, local-economy focused ecommerce #78

Open marcocastignoli opened 6 years ago

marcocastignoli commented 6 years ago

UPDATE: We are on Discord here

I already wrote the description of the project as if it's already an established organization, but it is not. I'm searching for developers, lawyers and advertisers interested in the project!

Description

Why?

We live in a society in which huge corporations have the power to influence economies and trends. Today the big companies that owns the online market don’t pay taxes, they underpay their employees, and they are disrupting local economies. We think that the world deserves a better alternative, so we decide to found Nile.

What is Nile?

Nile is a decentralized ecommerce that promotes local stores, and it’s commission free: all the money you pay for a good goes directly to the seller. Nile is made to be, as far as possible, similar to the online shops you already use; so, when you are searching for something, you’ll not even notice that you are using a decentralized system.

How will you earn money?

The application is decentralized so we just need money for the developers, the lawyers and the advertisers, we don’t have to build and maintain a huge and expansive network infrastructure. So we’ll just earn money from advertisement, but it will not be specific for you, because we want your data to be yours, and we will accept to advertise only local products.

How do you build a decentralized ecommerce?

Every city (or village) will have a Nile instance, the Nile instance is needed to group all the stores of your city so you can view them in a storefront like the one that you already use. All the Nile instances will talk to each other, so when you search for a product and it’s not near to you (it means it’s not in the instance of your city), you will find it anyway. Stores will also contribute to the platform: every store will host its part of the system: when you buy a product, the computational cost of the operation is processed by the store. The store will have different ways to connect to the local Nile instance, if a store doesn’t handle lots of requests then it just need a browser to be part of the network. If the store needs to handle thousands of requests per seconds then a more powerful architecture is needed but we will help configuring it.

What about the delivery?

Nile comes with a delivery service that works like Deliveroo: a network of cyclist that cover the local area. An algorithm calculates the best and cheapest route to deliver your goods. Also the delivery service will be commission-free, when a good is delivered, the money for the delivery goes directly to the cyclists involved. When you buy something from far away a cyclist can’t do the job, so the app will suggest the cheapest delivery method from a third party delivery service.

Relevant Technology

I'm open to discuss about which language or protocol fit best this idea

Who is this for

The project is very ambitious so everyone is welcome, of course experienced developers are needed to build the decentralized architecture

Complexity and required time

Nile is an ambitious project, from a programming point of view, building a decentralized system is something difficult, there are a lot of concept involved. But a first version of Nile, without the complete decentralization implemented could be ready in just 3 months. Later, for the next 9 months, we could decentralized every piece of Nile while it is already online. So in total we need 1 year to launch Nile.

Complexity

Required time (ETA)


Share on Twitter/other social media if you will. Something like

New project on Open Source Ideas Initiative: [Nile: decentralized, commission-free, local-economy focused ecommerce]
DrEloyd commented 6 years ago

Is there an alternative to an ad based platform, perhaps adopt a co-op model to further drive the local first mentality?

FredrikAugust commented 6 years ago

@steckerhalter please refrain from using language like that (read the CoC). Try to convey your argument in a constructive manner instead of just bashing on ads.

E.g. provide alternatives, argue for why it's bad et cetera.

ghost commented 6 years ago

Great idea! However, please move away from github. It is microsoft now. They claimed multiple time they've changed, but really would you believe microsoft when they payed $7.5bln for the company evaluated just over $2bln?

FredrikAugust commented 6 years ago

@gagmaker this has already been up for discussion -- #67.

rapsacnz commented 6 years ago

Funnily enough, there is an Amazon competitor in New Zealand called thenile.co.nz. It is books focused, like Amazon was in the early days. I use it for all my books now.

nadavdrewe commented 6 years ago

Guys guys guys... we need hours of chat and multiple diagrams. Bounded contexts. Data models.. break down into layers. Break down into services. You can't just extend and go. Don't rush into writing code without prep work. Trust me.

On Aug 6, 2018 10:43 PM, "Caspar Harmer" notifications@github.com wrote:

Funnily enough, there is an Amazon competitor in New Zealand called thenile.co.nz. It is books focused, like Amazon was in the early days. I use it for all my books now.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/open-source-ideas/open-source-ideas/issues/78#issuecomment-410862361, or mute the thread https://github.com/notifications/unsubscribe-auth/AB0U7-91-kWpaQTpXGruQGVMeOdQ7jJUks5uOLh8gaJpZM4VwMPo .

FredrikAugust commented 6 years ago

@nadavdrewe I don't think anyone's doing that. We are in the phase of planning, discussing et cetera. Nothing's being rushed.

marcocastignoli commented 6 years ago

Hello everybody, we decided to move on Slack. Please join us using this link

FredrikAugust commented 6 years ago

Regarding the move to slack:

The reason for doing so, and not using the slack of open-source-ideas, is because we assume we are going to need several channels to organize everyone working on the project, and this would simply clutter the slack of the initiative with Nile-related discussion/channels. We are moving away from spectrum.chat as we feel the realtime chat feature of the website is simply lacking in performance and feel, and thus slack will provide us with a better overall experience. Sadly this means that we are sacrificing some "freedom" as slack is proprietary, but we might eventually look into moving over to a self hosted rocket.chat instance or similar.

marcocastignoli commented 6 years ago

Tomorrow evening starting from 18:30 CET we will start writing a collaborative version of the whitepaper, everyone is welcome, just join us on Slack.

jonhearty commented 6 years ago

Loved seeing how many people commented on this -- shows how big of a problem it is and how important a solution is to the world.

We're working on a lot of this at Origin Protocol where we're using Ethereum and IPFS to decentralize marketplaces with a specific focus on sharing economies and the fractional usage of assets.

Our JavaScript library, Origin.js (launching on mainnet in the beginning of October), will allow developers to quickly spin up a decentralized marketplace, even if they don't know Solidity or how to write a smart contract. This will allow them to focus on their business and not re-building all of the core components necessary for a fully-functioning marketplace.

We also built our own DApp (on top of our platform) which acts as a meta-marketplace, aggregating listings from all of the partners that will build on Origin (currently over 40 have committed to doing so).

We've done quite a bit of work already (which you can check out at demo.originprotocol.com) and have a lot more that will be released over the coming months, all thanks to our great team that includes 3 of PayPal's first engineers (including one of the co-founders, Yu Pan) and 4 of YouTube's first employees (to be fair, 3 of them are the 3 PayPal guys and the fourth is our cofounder, Matt).

Happy either way that so many people are thinking about and working on this problem (and love that OpenBazaar chimed in), but just want to make sure everyone has an opportunity to see some of the other projects that are already working on this and have shipped a lot of code in case it makes sense to join forces rather than go at it separately! We are 100% open source (check out our GitHub) and do all of our communication out in the open on our Discord, including a weekly public engineering call. If anyone is interested, don't hesitate to reach out or say hello on the #engineering channel of our Discord!

I'll check out the newly created Slack channel, even though we moved from Slack (to Discord) because their product is not designed for parties that don't trust each other (see our founder's post on this here).

marcocastignoli commented 6 years ago

@jonhearty No one will ever move all the forces into a single project because I think every technology fit a better scenario. But what about creating a showcase for all the markets? So you can see markets coming from OpenBazaar and others coming from your project and others again from other protocols?

jonhearty commented 6 years ago

@marcocastignoli we're built on Ethereum, so hard for us to do this currently for projects built on other technologies, but philosophically I agree with your sentiment and this definitely aligns with what we're doing. We want to help standardize the way to represent listings on the blockchain and allow any marketplace to build on top of our protocols and developer tools. If everyone is speaking the same language, it will be easy to see a global view of all listings, regardless of which marketplace they're coming from or which client the user is accessing them from. The idea is that the data is public and therefore not owned and controlled by corporate monopolies like Amazon, Airbnb, Uber, etc.

Another huge advantage is that the user can own their identity (and therefore their reputation) and take it with them from one marketplace to another. This will also make it easier for marketplaces to acquire and onboard users. We chose to do this by building the first working implementation of ERC 725, the identity standard for Ethereum that was proposed by Fabian Vogelsteller (creator of ERC 20, Mist and web3.js).

livoras commented 6 years ago

It works. This is exactly the same thing we're doing in China and we've verified this model. This idea is still young and the scale of users is growing fast.

milimetric commented 6 years ago

Since you’re just bootstrapping this, you should really take a look at the SOLID platform that Tim Berners Lee is building at MIT: https://www.vanityfair.com/news/2018/07/the-man-who-created-the-world-wide-web-has-some-regrets/amp

It enables you to decouple customer data from the ecommerce service itself, and I think it would give your project a big competitive advantage in today’s more privacy-conscious world.

northfoxz commented 6 years ago

@livoras do you have the demo website? I'm interested and want to help, btw I'm located at Taiwan.

ranraj commented 6 years ago

Cool tool to society. I had same thought to connecting neighborhood business unit for recurrent business, but stopeed as it is C2B business models and that need market analysis and advertising. Love to join as it goes as open-source and decentralised. Add me please.

Aditya94A commented 6 years ago

If you need a kick-ass android client, then count me in! (Although, I'd be willing to lend a hand in pretty much any part)

I actually had exactly this same idea just a couple days back and I was thinking by becoming decentralized, the venture also loses it's profitability so I wasn't sure how to approach this. But decentralization is definitely the way to go and as FOSS, a strong enough community could definitely push this out and reasonably compete with Amazon. This is how we should build all software, imagine a facebook and an uber and a google built this way. No middlemen. Just us.

livoras commented 6 years ago

@NorthFoxz We base on WeChat mini-program, leveraging on social network app helps a lot.

piedoom commented 6 years ago

Very neat concept. I'd encourage readers to envision this in areas outside of your home country.

I think the problem that should be most pressing is how to get people to use it. Even without funding, there's ways to incentivize the use of a product. I would find a more narrow demographic (e.g., villages and cities that have internet through phones but poor infrastructure) and market there first before attempting to solve every use case (which is near impossible!). Some areas have great internet access whereas some places only use texts.

If this is to be a viable alternative to big commerce sites, start small and focus on the least amount of friction possible - to both users, and hosters.

If you are targeting local govts and trying to persuade them to run your software, make sure you understand what resources they have available. The same goes for if you're marketing at small businesses. I hate to be a killjoy, but running your own servers or even helping to keep them run is unsustainable!

Another hurdle is getting providers to list content. Perhaps you can hook into common services. I'm not familiar with market APIs but maybe you can provide integration with ones that businesses are already using?

To get users, you'll need a way to notify them that your service exists. If you have any sort of marketing money, that can come in handy. If you don't, it may be up to sellers to market for you (assuming they believe the benefits of using your service is worth it).

Just my 2c and rambling! Start small and market big :)

ghost commented 6 years ago

Add me in the discussion group too

lenormf commented 6 years ago

Ignoring Openbazaar to create another Amazon controlled by you is a terrible idea

marcocastignoli commented 6 years ago

@lenormf we want to collaborate

marcocastignoli commented 6 years ago

@hapishyguy @AdityaAnand1 just join on Slack!

KOLANICH commented 6 years ago

Once a listing has been selected, a user can make a booking by sending payment to the booking smart contract along with the IPFS hash of the chosen listing and the desired interval to book. The smart contract will verify that the booking is valid and handle the transfer of tokens between the buyer and the seller, including the escrow of funds when applicable.

The Origin user registry is a datastore of all Origin-enabled users. Origin users are identified by their Ethereum wallet addresses. In addition, the user registry also stores a mapping of all forms of identity verification that the user has successfully undertaken.

It looks like usage of the service is not private.

To solve this challenge, both the booking smart contract and the bridge servers will use a common set of oracles and a shared algorithm to determine the exchange rate to be used.

How about security? What if someone compromised one or all of these oracles (under an oracle here I assumme a setup with the software retrieving the info from the websites of central banks and putting it into blockchain. So what do you mean under "diverse"? Software in a single machine taking info from different websites? Different VMs with the same vulnrs? Different VMs with redundancy based on different distros (to avoid malicious packages) and OSes in the same data center on the same physical machine? The same in different geo distributed datacenters? The same but the machines belonging to independent (how can it be achieved without compromising security?) parties? The same, but also dedicated physical machines using old hardware (the one before it had become common to insert backdoors everywhere), some contermeasures against netSpectre, protection from side-channel attacks like the ones described by Tromer et. al, modern free software like coreboot)?

steckerhalter commented 6 years ago

@FredrikAugust

please refrain from using language like that (read the CoC). Try to convey your argument in a constructive manner instead of just bashing on ads. E.g. provide alternatives, argue for why it's bad et cetera.

yeah, well. if I need to explain why ads are bad I'm probably wasting my time. but there are many alternatives. make a co-op and let people donate.

paulcmal commented 6 years ago

Try to convey your argument in a constructive manner instead of just bashing on ads.

@FredrikAugust Please ask questions if you have any, but stop patronizing people about how they should talk. Especially when we're talking serious stuff: @steckerhalter's comment was not an insult or a personal attack against anyone, it was a strong political statement against advertisement and all the scammers and traitors making money out of this industry.

Who cares about a Code of Conduct when it's about doing the right thing? ;) Especially when you think of it, i'm sure one could do horrible things to a community while strictly following its code of conduct (i witnessed this happening in several free-software communities with fascist/masculinist scum infiltrating the community and destroying it from within).

But then, you may ask what's different between the advertising industry and any other industry. Indeed, is it any less ethical to buy your way into people's minds than it is to rip them off their time and energy in a factory? I don't think there's much difference (in terms of ethics). Fuck capitalism. Fuck private property. Fuck all people profiting from our misery. And death to the bourgeoisie and all the capitalist industry!

Long live free software, decentralized networks, and self-organized communities. Everything belongs to everyone. Now that i've addressed your proclaimed intellectual superiority, i'm more than ready to answer any questions you got.

PS: If you people want to get rid of slack, XMPP/Jabber is super easy to setup, standard, decentralized and provides all the features you need for collaboration : group chat (MUC), file transfer, federated git/svn, etc... And also has great mobile support thanks to Conversations on Android and ChatSecure on iOS.

marcocastignoli commented 6 years ago

@placer14 Did you receive my email?

marcocastignoli commented 6 years ago

@paulcmal Hey Paul, this evening 18:30 CET we will try to write down together a plan on Slack. We could also discuss about the best way to communicate. I also don't like Slack, we should replace it.

snajpa commented 6 years ago

If my vote would count, I'm for good ol' IRC for chat. We can provide ZNC bouncer accounts for whomever needs one ;) -> https://kb.vpsfree.org/information/chat#irc

Freenode is sometimes target of scripting trolls, but I think it is exactly because they're trying hard to remain neutral - and if that's not an option, we can spawn a new server.

With the tooling we use these days (NixOS), it's a blast to deploy new services.

FredrikAugust commented 6 years ago

@steckerhalter You don't need to explain why ads are bad, I think we all understand that the use of ads has negative sides. Personally I do not like, nor condone, the use of ads, but this is not my project, and if I disagree, I can form an argument as to why I think ads should not be used. What I was referring to is your first comment, where you just say "fuck ads and fuck those that build stuff with ads". This doesn't help the author improve his project, nor provide him with any alternative.

@paulcmal I did not mean to patronize @steckerhalter, but I think his comment was strictly unnecessary (as I have explained above) and destructive, rather than constructive. As for your comment;

it was not a personal attack against anyone

Yes it was; "fuck those who build stuff with ads". That would mean the people who are planning to build this with ads as the main source of income (at least to my understanding).

it was a strong political statement

Perhaps it's just me, but I would not consider that a strong political statement. He said "fuck ads and fuck those who build stuff with ads". He uttered his distaste for ads. Your comment on the other hand, is a strong political statement, as you provide arguments for why ads should not be used, and explain why they are bad.

Though I will ask you too, to stop using language such as "fuck this", and "fuck that", it makes it harder for people who are not as sure of their viewpoints to contribute in the conversation.

From the CoC:

Using welcoming and inclusive language Being respectful of differing viewpoints and experiences

And finally;

Now that i've addressed your proclaimed intellectual superiority

Sigh, really? I did not claim in any feasible way that I was "intellectually superior" to @steckerhalter. I'm simply trying to maintain a positive and welcoming community, and part of that job is regulating the comments. I thought the comment was inappropriate, hence I wrote my comment. That's it. This has nothing to do with me thinking I'm smarter than anyone else.

Hope that cleared out any possible misunderstandings. Let's continue working on this great project instead of discussing this.

marcocastignoli commented 6 years ago

@snajpa your vote count, but it's better if we speak about these kind of stuff this evening (or after this evening) so we can use a shared document to propose ideas.

paulcmal commented 6 years ago

Your comment on the other hand, is a strong political statement, as you provide arguments for why ads are bad, and explain why it's bad.

I did not provide a single argument why ads are bad. Like i said, i would be pleased to expose actual arguments if some people want/need them, but i did not. My comment is not more constructed than the original was.

Though I will ask you too, to stop using language such as "fuck this", and "fuck that"

Will do, thanks :)

This has nothing to do with me thinking I'm smarter than anyone else.

Sorry, i thought otherwise. I felt like the original post had a valid point which you tried to silence with legalese blabbery. Hope that cleared out the misunderstanding on my part, too ;)

If my vote would count, I'm for good ol' IRC for chat.

IRC/XMPP has probably all we need indeed :), except maybe topics for long-lived discussion. This could be handled by a forum such as discourse?

FredrikAugust commented 6 years ago

But then, you may ask what's different between the advertising industry and any other industry. Indeed, is it any less ethical to buy your way into people's minds than it is to rip them off their time and energy in a factory? I don't think there's much difference (in terms of ethics).

I took this as an argument for why ads are bad. Correct, you're not explicitly saying what the downsides are, but I'd say it definitely outlined some of the social and ethical ramifications of advertisements and capitalism (though they are in several ways yin and yang) ("buying your way into people's minds").

Regardless, I'm glad we resolved this dispute so we can continue building cool open source projects! :muscle:

daveloyall commented 6 years ago

I won't be using slack. Start an IRC channel on freenode or OFTC or some established network. You can put a slack-bridge bot in the channel if you like.

Thrilleratplay commented 6 years ago

I do not mean to be a jerk, I just want to point out that, from an outsider, a majority of these comments are back and forths on how to communicate.

Do not waste too much time and enthusiasm on stuff like this. Pick a place that will allows data migration and get started on why you are here in the first place. Move the concersation if it is warranted later.

If no such platform exists that allows this sort of organization for open source projects, then that sounds like a good open source idea.

marcocastignoli commented 6 years ago

@daveloyall @paulcmal @snajpa we created a document so we can share our skills and set a preference about the communication tool. Please fill it if your are interested in the project https://goo.gl/forms/C2xTeJLtwUO1QL4p2

snajpa commented 6 years ago

@marcocastignoli well I’ve voiced my opinion, yet you’re continuing the debate in things which are least constructive. As you appear to be the leader of this idea, you don’t need to give the people an option to vote on every single decision you’ll make. Either you have it figured out right, where the project should be and people will follow you there because of the sincerety of the plan, or you don’t lead and then we’re waiting for a chaos to self-organize into something way less entropic. Which, without a pretty specific idea of “what this is and what this should be”, will always be overrun with people with more motivation and more concrete goals. Back in the day when we were working on vpsFree from a total zero with nothing much existing to copy as an example, we didn’t have the stones to be thinking about a open cloud platform, yet be choosing all the closed tools to even figure out, how to get anywhere from that zero. Closed attitude would get us exactly nowhere. We started as a blog on a community portal, which by the way has had a deep respect for authorship and the rights you tend to hand out with your own texts on proprietary platforms.

I don’t mean to sound negativistic, but let me know, when you’re truly open and have the basics figured out.

Asking me to fill out another form with my behavior being tracked in the Google datacenters is certainly not a good way forward. I’ve written the same here on Github and on that Spectrum platform; sorry, but I won’t repeat it for the third time, when it wasn’t heard the first or the second time.

I don’t want to sound insulted or upset, because that wouldn’t be accurate - I just have better things to do at this moment.

For example figuring out a ZFS management utils to be workibg in user namespaces in containers, so that we can run Docker builds at a more native time without the VFS driver ;)

marcocastignoli commented 6 years ago

@snajpa can we please speak and you decide how to? I'm really interested to hear you suggestions, sorry if I didn't read too much messages here on github.

FredrikAugust commented 6 years ago

@snajpa Hello, I read through your comment, and I'm sorry this is the way you experienced things. It is true the beginning of this project was far from optimal, with hopping from GitHub to spectrum to slack, but I'd say the reason for that is relatively straight-forward. First we discussed on GitHub because that's where the idea was posted, but soon realized that it got too cluttered, and started looking for an alternative. I believe we first suggested slack, but people wanted something open-source, so we used spectrum.chat. After short time with that platform, we realized it was not appropriate for our use -- it felt too slow, and the chat feature was severely lacking. In order not to slow down the process, we moved to the original plan -- slack, because it had everything we wanted, and doesn't require any setup etc., so we could use it right away.

Sadly, this means that those rigid on not using proprietary software will not be able to join, and this is something we will address by moving to rocket.chat (or something similar) as soon as we can.

Until then, if you want to communicate, feel free to contact us on email, and we'll keep you up to speed :)

snajpa commented 6 years ago

Or, as I said, you can already find the whole team of vpsFree.cz on IRC, freenode.net #vpsfree ;)

Really, feel free to stop by and ask us, how we're doing things ;)

(guys, no need to apologize to me, I'm just stating as I see it from 10km foot view above => as I said, we're here, we've been doing virtual servers at nonzero scale for 10 years now, so you can just deploy what we do as a platform -> if you decide to go this way, things will move rather quickly, because I think we at vpsFree all know, what to do, by now)

FredrikAugust commented 6 years ago

Wonderful @snajpa! We'll definitely stop by :) Thanks for your reply!

codekk commented 6 years ago

sounds massively cool. Im in!

FredrikAugust commented 6 years ago

@codekk just join the slack channel, and skim through the chats in #general. That should get you up to date

eduard-tkv commented 6 years ago

The slack invite link is dead. I'm not an experienced developer but would still like to help.

marcocastignoli commented 6 years ago

@eduard-tkv thanks updated https://join.slack.com/t/nileorg/shared_invite/enQtNDE4OTM4NDU4NzM5LWY2ZDU3Njg1ZDk0MjE5NmI2ZmM4ZTYwZjdjMzQxMzBjNTM5NTVmMzM5NzM1NDI4NWI0YTk0YjdhOTRhNjIzOGE

marcocastignoli commented 5 years ago

@snajpa Hey :) I know it was a long time ago but now I created the bridge you were suggesting between Slack and IRC. You can join us here irc://freenode/##nile

madbob commented 2 months ago

FYI: in Italy we have "ethical purchasing groups", groups of people living on the same area and collectively buying goods mostly from local producers. Usually those are organized in associations, and periodically collect orders from members (on a weekly, monthly, biannual basis, depending on the type of product) to be then shipped together. Smaller groups communicate via email with spreadsheet files in attachment. Larger groups use more or less specific software applications.

I maintain one of most popular applications, since 2009: GASdotto is of course opensource, it is partially translated also in English, German and French, a free (donations supported) hosting service is provided to lesser tech savvy users to just click and run their own instance, and actually there are more than 100 freely hosted groups for a turnover of about 2 million euros per year on local economies.

Not visionary as the Nile project, but it actually exists ;-)