Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for using third-party libraries #26

Open
Lucria opened this issue Sep 1, 2019 · 67 comments
Open

Request for using third-party libraries #26

Lucria opened this issue Sep 1, 2019 · 67 comments

Comments

@Lucria
Copy link

Lucria commented Sep 1, 2019

As stated above, will we be penalized if we use external packages for our projects/Duke? Some example of such a package will be a package that helps save objects into a JSON file.
The specific third-party package I'm looking at is GSON https://sites.google.com/site/gson/

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 2, 2019

Made this sticky and changed title.

@okkhoy okkhoy changed the title Questions regarding usage of external packages Request for using third party libraries Sep 2, 2019
@okkhoy okkhoy changed the title Request for using third party libraries Request for using third-party libraries Sep 2, 2019
@okkhoy
Copy link
Collaborator

okkhoy commented Sep 2, 2019

Let us use this issue to request for third-party library usage.

Post your new requests as comments below.


Library reuse guidelines

You are allowed to use third-party libraries subject to the constraints below:

  • It should be an open-source project, STRICTLY NO FREEWARE binaries!
    • There may be some exceptions, decided on a case-to-case basis
  • Either you or the users should not be required to pay for using the library
  • The library should be released under a permissive license (MIT/Apache 2.0 are most preferred)
  • You need to seek permission by listing the library here before you can use it.
  • Once the library is approved for one team, it is approved for the entire class 😄 No need to ask permission again!
  • You need to acknowledge the use of such libraries explicitly in your project documentation that is publicly visible

@okkhoy okkhoy pinned this issue Sep 2, 2019
@okkhoy
Copy link
Collaborator

okkhoy commented Sep 2, 2019

@Lucria wrt GSON : approved for use 👍

@namiwa
Copy link

namiwa commented Sep 12, 2019

Request to use module data from https://api.nusmods.com/v2/ referenced from #53.

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 12, 2019

@namiwa Do you want to use the data alone or the API to fetch the data?

@namiwa
Copy link

namiwa commented Sep 12, 2019

@okkhoy For the time being, we intend to use the API to fetch the data.

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 12, 2019

@namiwa Use of NUSMods API approved 👍

@shamussy
Copy link

Hi, do we need to request for permission to use libraries like the Natty Library? Or is it approved by default?

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 13, 2019

Anything that is not JDK provided should be requested.
Since you ask about Natty, using Natty is approved 👍 😄

@liujiajun
Copy link

Can I use Jackson?

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 15, 2019

@liujiajun Jackson, approved. However, for the benefit of others, please provide the link to the exact Jackson project you intend to use.

@liujiajun
Copy link

liujiajun commented Sep 15, 2019

Thank you!
This is what I used: https://github.com/FasterXML/jackson-databind

@Riyas97
Copy link

Riyas97 commented Sep 18, 2019

Hi. For my group project, it it okay to use 'The Movie Database API' https://www.themoviedb.org/documentation/api to extract information about movies for the app? Also is there any additional information that you want me to provide? Thanks.

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 19, 2019

@Riyas97 This is a part of the terms of use:

A TMDb user account is required to request an API key. Professional users are approved on a per-application basis.

Does this mean users should create an account as well? For the API, you need an account as stated.

Also, what is the mode of access? Do you use a library or do you make HTTP (or equivalent) request?

@Riyas97
Copy link

Riyas97 commented Sep 19, 2019

@okkhoy Firstly, the users don't have to create an account but I would have to create an account to generate the API key. The account is free and in fact, I already have an account and have even successfully tested out the API. As for mode of access, we need an API key to perform a http request to the database endpoint.

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 19, 2019

@Riyas97 Do take note of their terms of use. If for some reason, they block you (e.g., too many requests on the day of the testing session), you are on your own! You may be in trouble if the person testing your app doesn't get the required data.

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 19, 2019

Otherwise, TMDb approved. 👍
If you need to use any library bindings of TMDb you need to seek permission again as they have different license requirements, @Riyas97

@Riyas97
Copy link

Riyas97 commented Sep 19, 2019

@okkhoy Thank you so much. We will take your feedback seriously and develop a fallback mechanism in case anything happens on testing session.

@Lucria
Copy link
Author

Lucria commented Sep 19, 2019

Hi Prof, would like to ask permission for using FreeTTS @ https://freetts.sourceforge.io/ and Apache Commons CSV @ https://commons.apache.org/proper/commons-csv/download_csv.cgi

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 19, 2019

@Lucria please ensure that you don't violate any project constraints in using freetts.
Fretts - Approved 👍
Apache Commons CSV - Approved 👍

Again, with CSV, no dealing with data as column store (i.e., no treating it like SQL, no joins, etc.)

@Jefferson111
Copy link

Hi, are we allowed to use https://aws.amazon.com/lex/ for parsing of user input?

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 23, 2019

@Jefferson111 no. They require subscribing and (to my best knowledge) it is a paid service.

@Jefferson111
Copy link

@okkhoy
Copy link
Collaborator

okkhoy commented Sep 30, 2019

@Jefferson111 Approved 👍
Do note that the user of your software shouldn't have to register for the access (doesn't seem so based on my quick look). If that is the case, I am afraid you need to talk to me to find a way out.

@Lucria
Copy link
Author

Lucria commented Oct 2, 2019

Hi Prof! Are we allowed to use JaCoCo code coverage library?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 14, 2019

@LongLeCE Approved 👍

@ChenChao19
Copy link

Hi prof, can we use https://mvnrepository.com/artifact/org.controlsfx/controlsfx/11.0.0 since it is under mavenCentral repos?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 14, 2019

@ChenChao19 Approved 👍

@tessa-z
Copy link

tessa-z commented Oct 15, 2019

Hi prof, can we use Apache POI?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 15, 2019

@tessa-z Apache POI approved 👍

@Lucria
Copy link
Author

Lucria commented Oct 16, 2019

Hi prof, can we use Coveralls maven plugin and Coveralls gradle plugin

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 16, 2019

@Lucria approved both 👍 (But I am curious why you need both?)

@Lucria
Copy link
Author

Lucria commented Oct 17, 2019

Ah I actually didn't need both! During the time of posting I had yet consider a gradle plugin for Coveralls since the one suggested by Coveralls for Java was the maven plugin. But now, I was able to get the gradle plugin to work :)

@JokerYan
Copy link

Hi prof, can we use Outlook REST API to fetch emails? We will provide a local file fallback also.
https://docs.microsoft.com/en-us/previous-versions/office/office-365-api/api/version-2.0/use-outlook-rest-api

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 18, 2019

@JokerYan you can! 👍
However, please note, users may be apprehensive to provide their username and password to test "unknown" applications. Hence you may have to provide a dummy user account details for testing purpose in the user/developer guide. Else there is big chance that anything related to email is not tested.

@Xdecosee
Copy link

Hi prof, can we use OpenCSV for our project ?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 20, 2019

@Xdecosee approved 👍

@priyan-coder
Copy link

Hi Prof, are we allowed to use Yahoo Finance API online service for finding exchange rates ?

https://finance.yahoo.com/currency-converter

@gowgos5
Copy link

gowgos5 commented Oct 23, 2019

Hi prof, can we use the JavaFX Material Design Library for our proj?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 23, 2019

@priyan-coder looks like Yahoo finance API service is terminated? can you link to the actual library you need?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 23, 2019

@gowgos5 JFoenix (no other implementations of Material Design Library) approved 👍

@chengweixuan
Copy link

https://github.com/hamcrest/JavaHamcrest
Hi prof, may we use this third-party library for testing exceptions?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 23, 2019

@chengweixuan Hamcrest approved 👍

@priyan-coder
Copy link

Hi Prof, Apologies on the error earlier. Here's the functioning API, which i would like to request for approval :
https://ratesapi.io/documentation/

@kuromono
Copy link

Hi Prof, can I request to use the following libraries to parse CSV?
https://github.com/FasterXML/jackson-dataformats-text

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 24, 2019

@priyan-coder Probably have to disappoint you. No.
image
the terms are non-conducive. I suppose your app will be requesting information, which can be construed as "bot"
in addition, to account for network outage you may have to save data locally that is forbidden.

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 24, 2019

@kuromono Jackson CSV approved. 👍

@priyan-coder
Copy link

Hi Prof, sure noted on guideline. I found an alternative :
https://exchangeratesapi.io/ for currency and https://www.metaweather.com/api/ for weather .

For your kind approval please.

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 24, 2019

@priyan-coder approved both 👍 (good job finding an open-source alternative!)

@TanYiXiang
Copy link

Hi prof, can we use https://mvnrepository.com/artifact/org.mnode.ical4j/ical4j/1.0.3 to parse iCalendar files?

@okkhoy
Copy link
Collaborator

okkhoy commented Oct 26, 2019

@TanYiXiang yes you can!! Approved iCal4j 👍

@Riyas97
Copy link

Riyas97 commented Nov 4, 2019

Hi.. Just to confirm can I use JSON.simple 1.1.1 (https://code.google.com/archive/p/json-simple/) to handle JSON objects in my program?

@okkhoy
Copy link
Collaborator

okkhoy commented Nov 4, 2019

@Riyas97 yes, you can. JSON Simple approved 👍

@jasperosy
Copy link

Hi prof, can we use https://github.com/fusesource/jansi for ANSI colours?

@okkhoy
Copy link
Collaborator

okkhoy commented Nov 9, 2019

@jasperosy agreed 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests