Jump to content

Source Code?


EchelonCA

Recommended Posts

Having thought about it a bit I think they should dual-license it.

1) Your typical open source license rules apply, however limited to owners of a Wifi Pineapple. All others must get...

2) The proprietary license, for non-owners of a Wifi Pineapple, whereby they get to do something to be worked out by lawyers on both sides of this contract, for a nominal fee.

Link to comment
Share on other sites

Dual licensing could be a possibilty:

Open source GPLv3 project - anybody can make changes and redistribute the source code. The GPL means that redistributions must follow the same license and have the same freedoms. The Cooper Supercharged Pineapple™ that fixes all the annoyances in the web interface would have to be open sourced as you got the code under the GPL. Your improvements could then be rolled back into the WiFi Pineapple main line.

Should Microsoft want to release the Micro$oft User-Subjugating Pineapple™ and not have it as open source, then they would have to buy a license exception from Hak5.

Edited by Oli
Link to comment
Share on other sites

The goal of the license probably wouldn't have to be the ensuring that my changes get fed back to the main repo (although I'd recommend including such wordings), but rather that I'm prevented from distributing a knock-off that would operate from their code-base (even without any changes to said codebase) and burden them with the support costs involved with that, without being compensated in some way.

I think the wording would need to be such that I'm only allowed to do with the software whatever I want (including making a Supercharged Pineapple ) with the stipulation that if I want to redistribute my code changes, it can only go to other Pineapple owners. When I want to sell the Supercharged Pineapple to non-Wifi Pineapple owners (with non-Wifi Pineapple hardware included or not) I need to acquire the proprietary license to do so legally and some lawyer folk on my and Hakshop's side would need to work out that contract and the fees involved.

Edited by Cooper
Link to comment
Share on other sites

Care needs to be taken though. The core of the WiFi Pineapple is all open source (openwrt, karma, etc). The web interface is a tiny proprietary piece of a big ecosystem. Eventually somebody will just create a 10x better web interface from scratch - with less restrictions - to the detriment of Hak5. What I'd like to see is more people making meaningful contributions to the official code line and faster progress on the project.

Link to comment
Share on other sites

I hope you understand that we welcome criticism and would like to foster an honest and transparent discussion on the matter.

I appreciate these questions being brought up as they allow the project to naturally evolve. Perhaps our existing modified GPL license doesn't serve the community best, as you've well pointed out. We're open to a discussion on making this better.

I understand that you'd like to see more people making meaningful contributions to the official code line and faster progress on the project.

You should understand that this project has a symbiotic relationship with Hak5 - the show which has provided free education to the hacker community for nearly 10 years. We couldn't operate without the support of the HakShop.

The commercial restriction on the license is in the same spirit of the non-commercial clause on the Hak5 episodes. It's there to protect our long term viability -- myself, who's put my every effort into Hak5 and through which have been blessed to also be supportive of Shannon, Paul, Sara and Seb who also do the same.

We've seen knock off Hak5 DVDs on ebay just as we've seen knock off WiFi Pineapples. We're not prohibiting commercial use of the product, the EULA just includes standard commercial restrictions on reverse engineering, cloning and resell which would put a burden on our resources.

Our margins are very tight - half that of the previous generation while maintaining the same retail price in fact. That's because we believe in community development and making affordable hacker gear - not producing an expensive 'information security appliance'.

The WiFi Pineapple has continued to grow because we have a full time developer. Before this the project ran at a snails pace. The only way we can afford to support the project is by the hardware sales.

Even the MK5 custom hardware comes from development with a hardware engineer who's a friend of the show. It's an expensive endeavour but he thinks the project is cool so we've gotten a lot of help.

It is only because of the success that the project has had in its existing formation that we've been able to innovate on the hardware side in ways I doubt we'd see in the market otherwise.

And software wise the project has moved forward very quickly due in part to our single developer - while we've put forth APIs and a framework for expansion through a pretty intuitive infusion system. While the UI elements may be somewhat static, we haven't slowed down to revisit these.

So the question is, how can we better serve the WiFi Pineapple community in a way that doesn't undermine the long term viability of our team, this ever evolving product and thus this community?

Link to comment
Share on other sites

At the end of the day, I don't really care what license the thing is under (well, so long as the contradictory GPL stuff is removed!). I want to support HAK5 and run the on the unique MKV hardware and don't really care about the non-commercial clause (which I suppose is pretty justified).

I just want a friction free experience:

1) Source control to see what is changing and where between releases.

2) Fully documented route to build firmware (which is already open sourced) - including all steps up to and including the final downloadable containing the web interface.

3) Documented expansion bus and ability to shape the future HDK (which could be as ugly as ducky script for all I know, if no external feedback is solicited).

4) Ability to submit code to HAK5 for approval to be part of the main code line - if of course the change is appropriate. Not just limited functionality infusions.

5) Ability to create and redistibute forks of the code with any required changes that are allowed to run on at least the MKV.

This can only help the project and keep the community happy right?

Edited by Oli
Link to comment
Share on other sites

FWIW I think you're doing precisely what you're setting out to do. At this point I can do whatever I think I might want to do and legally at that.

Improvements that I'd prefer to see would be:

1. A repo somewhere that I can send patches to. I haven't done anything yet that would warrant a patch but knowing that it's there would help. Currently when there's something I'd change I guess I'd send a patch file to Seb with a follow-up to the forum until a new release gets cut that includes that patch or obsoletes it. It's workable for smallish development groups and relatively little churn on the codebase. When things pick up speed this gets trickier.

2. You mentioned Trello with the 1.4.0 release video (had to look it up, it's project planning software. We use Jira at work) and I can understand you wanting a bit of secrecy around planned features that you want to announce at just the right time, but there's bound to be some nifty set of features you've thought of doing or being able to do with the device that you simply can't right now nor that you want to Seb to focus on at this point in time. You could write that up in a way that anybody with the time and the inclination would be welcome to work on. Write up something you'd like to see done, have Seb include a quick comment on what he thinks needs to be done to get this to work, throw out that bone and who knows, a doggie might go and chase after it.

My personal goals with the device currently are

1. Be able to create my own firmware image using the instructions provided in the write-up.

2. Create a minimalist firmware image that only puts u-boot and the kernel in the boot rom and have everything else come from the SD card (hence also my interest in the SD card's speed). Then you can leave the firmware be (that memory dies after about 1000 writes too according to the specs. YMMV) and just dd an image onto your SD card for most of your updates.

3. Flesh out the SD card image so that it becomes a full-blown Linux rather than the current OpenWRT-based busybox/uclibc based thing (it works, but I'm not convinced its space savings are called for and having a full install is easier to work on)

4. Upgrade the kernel from 3.3.8 to mainline.

When I reach point 3 (might be at Mk6 by then, but who knows. I've gotten Gentoo going on an Odroid in 3 days using just the evenings) I intend to provide patches to the web interface so that it can work with whatever options I'm confronted with and I fully expect Seb to push back and say I should wrap my binaries instead which sometimes is called for and at other times might not be called for. We'll see when we get there.

Link to comment
Share on other sites

I've already modified a lot of the web interface, of course - when I'm finished I'll show it to Darren for his approval and perhaps he will implement my changes into the firmware itself.

Changes that I've made:

1.) Sanitised most of the scripts/pages (I LIKE MY CODE CLEAN! Tabbing achieves this).

2.) Added theme support (Anyone will be able to create and install custom themes - thats if you want a different appearence).

3.) Tidied up the status bar - information is more tidy, easier to read and it provides the CPU usage/load in %.

What I'm planning to do next:

1.) Add detailed bar charts that inform the user of free disk space, RAM, CPU frequency/min freq/max freq etc.

2.) Not sure about anything else yet, maybe some cool animations and stuff - I like things to look tidy and efficient.

I don't own a Pineapple (maybe months or even a year before I can get one - I'm 15 years old, I have to be wise with my pocket money) - so although I can view a majority of the elements, I cannot view/test all of them - such as the tiles, etc...

Edited by Lavanoid
Link to comment
Share on other sites

Just a quick update:

We should have the webinterface source up on github soon - and are of course going to consider any pull requests we receive.

While we may not allow every change to be committed to the master, we welcome everyone's suggestions.

Best Regards,

Sebkinne

Edit: Repository is now online

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...